diff options
Diffstat (limited to 'tests/bugs/shard/bug-1272986.t')
| -rw-r--r-- | tests/bugs/shard/bug-1272986.t | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/bugs/shard/bug-1272986.t b/tests/bugs/shard/bug-1272986.t new file mode 100644 index 00000000000..66e896ad0c4 --- /dev/null +++ b/tests/bugs/shard/bug-1272986.t @@ -0,0 +1,35 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc + +cleanup + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{0,1,2,3} +TEST $CLI volume set $V0 features.shard on +TEST $CLI volume start $V0 + +# $M0 is where the reads will be done and $M1 is where files will be created, +# written to, etc. +TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M0 +TEST glusterfs --volfile-id=$V0 --volfile-server=$H0 $M1 + +# Write some data into a file, such that its size crosses the shard block size. +TEST dd if=/dev/urandom of=$M1/file bs=1M count=5 conv=notrunc oflag=direct + +md5sum1_reader=$(md5sum $M0/file | awk '{print $1}') + +EXPECT "$md5sum1_reader" echo `md5sum $M1/file | awk '{print $1}'` + +# Append some more data into the file. +TEST dd if=/dev/urandom of=$M1/file bs=256k count=1 conv=notrunc oflag=direct + +md5sum2_reader=$(dd if=$M0/file iflag=direct bs=256k| md5sum | awk '{print $1}') + +# Test to see if the reader refreshes its cache correctly as part of the reads +# triggered through md5sum. If it does, then the md5sum on the reader and writer +# must match. +EXPECT "$md5sum2_reader" echo `md5sum $M1/file | awk '{print $1}'` + +cleanup |
