diff options
author | shishir gowda <sgowda@redhat.com> | 2012-09-26 18:09:33 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-11-29 22:11:06 -0800 |
commit | bde0e142632854b8c74a4df0427662c024dd29c1 (patch) | |
tree | 4f97880501fd288228bdda6dabe67d1dffa42cf1 /tests/bugs | |
parent | c7baba53635c78b899a165d1de6b6982bb520325 (diff) |
cluster/dht: fail fix-layout if any of the subvol is down
If any subvolume is down, and a layout is re-written and hash
values change, entry names in the downed subvol can be reused
in the other subvol which got the same hash range. when the
downed subvol is brought back up, duplicate entried might appear
Also separated handling of ENOSPC and ENOTCONN error.
Change-Id: I5ed93990425a4cee70df2dab7c7c119fdc87ad56
BUG: 860663
Signed-off-by: shishir gowda <sgowda@redhat.com>
Reviewed-on: http://review.gluster.org/4000
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'tests/bugs')
-rw-r--r-- | tests/bugs/bug-860663.t | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/bugs/bug-860663.t b/tests/bugs/bug-860663.t new file mode 100644 index 00000000000..a36c8e46590 --- /dev/null +++ b/tests/bugs/bug-860663.t @@ -0,0 +1,49 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc + +cleanup; + +function file_count() +{ + val=1 + + if [ "$1" == "$2" ] + then + val=0 + fi + echo $val +} + +BRICK_COUNT=3 + +TEST glusterd +TEST pidof glusterd + +TEST $CLI volume create $V0 $H0:$B0/${V0}0 $H0:$B0/${V0}1 $H0:$B0/${V0}2 +TEST $CLI volume start $V0 + +## Mount FUSE +TEST glusterfs -s $H0 --volfile-id $V0 $M0; +sleep 5; + +touch $M0/files{1..10000} >/dev/null; + +ORIG_FILE_COUNT=`ls -l $M0 | wc -l`; + +# Kill a brick process +kill -9 `cat /var/lib/glusterd/vols/$V0/run/$H0-d-backends-${V0}1.pid`; + +TEST $CLI volume rebalance $V0 fix-layout start + +sleep 30; + +touch $M0/files{1..10000} >/dev/null; + +TEST $CLI volume start $V0 force + +sleep 5; + +NEW_FILE_COUNT=`ls -l $M0 | wc -l`; + +EXPECT "0" file_count $ORIG_FILE_COUNT $NEW_FILE_COUNT |