3
. $(dirname $0)/../../include.rc
4
. $(dirname $0)/../../volume.rc
10
TEST $CLI volume create $V0 $H0:$B0/${V0}{0,1}
11
TEST $CLI volume set $V0 features.shard on
12
TEST $CLI volume set $V0 features.shard-block-size 4MB
13
TEST $CLI volume set $V0 performance.quick-read off
14
TEST $CLI volume set $V0 performance.io-cache off
15
TEST $CLI volume set $V0 performance.read-ahead off
16
TEST $CLI volume set $V0 performance.strict-o-direct on
17
TEST $CLI volume start $V0
19
TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M0
21
TEST $CLI volume set $V0 md-cache-timeout 10
23
# Write data into a file such that its size crosses shard-block-size
24
TEST dd if=/dev/zero of=$M0/foo bs=1048576 count=8 oflag=direct
26
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
27
TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M0
29
# Execute a setxattr on the file.
30
TEST setfattr -n trusted.libvirt -v some-value $M0/foo
32
# Size of the file should be the aggregated size, not the shard-block-size
33
EXPECT '8388608' stat -c %s $M0/foo
35
EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0
36
TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M0
38
# Execute a removexattr on the file.
39
TEST setfattr -x trusted.libvirt $M0/foo
41
# Size of the file should be the aggregated size, not the shard-block-size
42
EXPECT '8388608' stat -c %s $M0/foo