diff options
Diffstat (limited to 'dvm')
-rwxr-xr-x | dvm/2051/testcase | 33 | ||||
-rwxr-xr-x | dvm/764802/testcase | 85 |
2 files changed, 118 insertions, 0 deletions
diff --git a/dvm/2051/testcase b/dvm/2051/testcase new file mode 100755 index 0000000..f1071da --- /dev/null +++ b/dvm/2051/testcase @@ -0,0 +1,33 @@ +#!/bin/bash + +source $cwd/regression_helpers + +VOLNAME="vol$global_bug_id"; + +$GLUSTERFSDIR/gluster volume create $VOLNAME $(hostname):$EXPORT_DIR/$global_bug_id/export1 $(hostname):$EXPORT_DIR/$global_bug_id/export2 2>/dev/null 1>/dev/null; + +$GLUSTERFSDIR/gluster volume start $VOLNAME 2>/dev/null 1>/dev/null; +if [ $? -ne 0 ]; then + exit 22; +fi + +mount_nfs $VOLNAME 2>/dev/null 1>/dev/null; +if [ $? -ne 0 ]; then + exit 22; +fi + +sleep 10; + +df -h | grep $VOLNAME 2>/dev/null 1>/dev/null; +if [ $? -ne 0 ]; then + exit 22; +fi + +cp -r /etc/ $NFS_MOUNT; + +find $NFS_MOUNT | grep "find: File system loop detected" 2>/dev/null 1>/dev/null; +if [ $? -eq 0 ]; then + exit 22; +else + exit 0; +fi diff --git a/dvm/764802/testcase b/dvm/764802/testcase new file mode 100755 index 0000000..f0a344a --- /dev/null +++ b/dvm/764802/testcase @@ -0,0 +1,85 @@ +#!/bin/bash + +source $cwd/regression_helpers + +BRICK1=$(hostname):$EXPORT_DIR/$global_bug_id/brick1 +BRICK2=$(hostname):$EXPORT_DIR/$global_bug_id/brick2 + +$GLUSTERFSDIR/gluster volume create $global_bug_id $BRICK1 1>/dev/null 2>/dev/null + +$GLUSTERFSDIR/gluster volume start $global_bug_id 2>/dev/null 1>/dev/null +sleep 5 + +mount_glusterfs $global_bug_id + +cd $FUSE_MOUNT + +for i in {1..10} +do + touch $i +done + + +# Capture the GFIDs of all the files +cd $EXPORT_DIR/$global_bug_id/brick1 + +for i in {1..10} +do + GFID_ARR[$i]=$(getfattr -d -e hex -n trusted.gfid -m . $i | grep trusted.gfid| cut -d "=" -f2) +done + +$GLUSTERFSDIR/gluster volume add-brick $global_bug_id $BRICK2 1>/dev/null 2>/dev/null +$GLUSTERFSDIR/gluster volume rebalance $global_bug_id start 1>/dev/null 2>/dev/null +sleep 2 + +status=0 +time_out=0 + +while [[ $status -ne 1 && $time_out -le 300 ]] +do + status=$($GLUSTERFSDIR/gluster volume rebalance $global_bug_id status| grep 'rebalance completed'|wc -l) + time_out=$(( $time_out + 1)) + sleep 1 +done + + +# for some reason rebalance is hung so we errout +# assuming 300 is fairly enough for rebalancing +# 10 files +if [ $time_out -gt 300 ]; then + exit 1 +fi + + +# now compare the GFIDs of all the files +# with the previously stored +for i in {1..10} +do + if [ -f "$EXPORT_DIR/$global_bug_id/brick1/$i" ] ; then + + GFID_ARR2[$i]=$(getfattr -d -e hex -n trusted.gfid -m . $EXPORT_DIR/$global_bug_id/brick1/$i 2>/dev/null\ + | grep trusted.gfid | cut -d "=" -f2) + + + if [ ${GFID_ARR[$i]} != ${GFID_ARR2[$i]} ]; then + exit 1 + fi + elif [ -f "$EXPORT_DIR/$global_bug_id/brick2/$i" ]; then + + GFID_ARR2[$i]=$(getfattr -d -e hex -n trusted.gfid -m . $EXPORT_DIR/$global_bug_id/brick2/$i 2>/dev/null\ + | grep trusted.gfid | cut -d "=" -f2) + + if [ ${GFID_ARR[$i]} != ${GFID_ARR2[$i]} ]; then + exit 1 + fi + else + echo "file not found" + exit 1 + fi +done + + +exit 0 + + + |