1
0
mirror of https://github.com/gluster/glusterfs.git synced 2026-02-06 09:48:44 +01:00
Files
glusterfs/tests/basic/hardlink-limit.t
Shreyas Siravara 90323f993b storage/posix: Add limit to number of hard links
Summary:
Too may hard links blow up btrfs by exceeding max xattr size (recordign
pgfid for each hardlink). Add a limit to prevent this explosion.

> Reviewed-on: https://review.gluster.org/18232
> Reviewed-by: Shreyas Siravara <sshreyas@fb.com>
Fixes gluster/glusterfs#370
Signed-off-by: ShyamsundarR <srangana@redhat.com>
Change-Id: I614a247834fb8f2b2743c0c67d11cefafff0dbaa
2017-09-07 16:36:29 -07:00

45 lines
1.1 KiB
Bash

#!/bin/bash
. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc
. $(dirname $0)/../dht.rc
cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;
TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{1,2,3,4,5,6};
EXPECT "$V0" volinfo_field $V0 'Volume Name';
EXPECT 'Created' volinfo_field $V0 'Status';
EXPECT '6' brick_count $V0
TEST $CLI volume start $V0;
EXPECT 'Started' volinfo_field $V0 'Status';
TEST $CLI volume set $V0 storage.max-hardlinks 3
TEST glusterfs -s $H0 --volfile-id $V0 $M0;
TEST dd if=/dev/zero of=$M0/testfile count=1
# max-hardlinks is 3, should be able to create 2 links.
TEST link $M0/testfile $M0/testfile.link1
TEST link $M0/testfile $M0/testfile.link2
# But not 3.
TEST ! link $M0/testfile $M0/testfile.link3
# If we remove one...
TEST rm $M0/testfile.link1
# Now we can add one.
TEST link $M0/testfile $M0/testfile.link3
# But not another
TEST ! link $M0/testfile $M0/testfile.link4
# Unless we disable the limit...
TEST $CLI volume set $V0 storage.max-hardlinks 0
TEST link $M0/testfile $M0/testfile.link4
cleanup;