X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Flfscktest.sh;h=c7f40e438a1371e09174b979cba762dee9bd1ee6;hb=83f755685e50da38cb916ae4fb83f62429b5d568;hp=0b18e3e6c5510e640fd3d8865c3106b7bedadb88;hpb=113303973ec9f8484eb2355a1a6ef3c4c7fd6a56;p=fs%2Flustre-release.git diff --git a/lustre/tests/lfscktest.sh b/lustre/tests/lfscktest.sh index 0b18e3e..c7f40e4 100755 --- a/lustre/tests/lfscktest.sh +++ b/lustre/tests/lfscktest.sh @@ -15,6 +15,8 @@ GETFATTR=${GETFATTR:-getfattr} SETFATTR=${SETFATTR:-setfattr} MAX_ERR=1 +FSTYPE=${FSTYPE:-ldiskfs} + export PATH=$LFSCK_PATH:`dirname $0`:`dirname $0`/../utils:$PATH [ -z "`which $GETFATTR`" ] && echo "$0: $GETFATTR not found" && exit 5 @@ -25,8 +27,16 @@ LUSTRE=${LUSTRE:-`dirname $0`/..} init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} -WAS_MOUNTED=`mount | grep $MOUNT` -[ "$WAS_MOUNTED" ] || $FORMAT && $SETUP +# if nothing mounted, don't nuke MOUNT variable needed in llmount.sh +WAS_MOUNTED=$(mounted_lustre_filesystems | head -1) +if [ -z "$WAS_MOUNTED" ]; then + # This code doesn't handle multiple mounts well, so nuke MOUNT2 variable + MOUNT2="" sh llmount.sh + MOUNT=$(mounted_lustre_filesystems) + [ -z "$MOUNT" ] && echo "NAME=$NAME not mounted" && exit 2 +else + MOUNT=${WAS_MOUNTED} +fi DIR=${DIR:-$MOUNT/$TESTNAME} [ -z "`echo $DIR | grep $MOUNT`" ] && echo "$DIR not in $MOUNT" && exit 3 @@ -48,7 +58,8 @@ get_mnt_devs() { if [ "$LFSCK_SETUP" != "no" ]; then #Create test directory - rm -rf $DIR + # -- can't remove the mountpoint... + [ -z "$DIR" ] && rm -rf $DIR/* mkdir -p $DIR OSTCOUNT=`$LFIND $MOUNT | grep -c "^[0-9]*: "` @@ -183,7 +194,7 @@ done # lfsck will return 1 if the filesystem had errors fixed echo "LFSCK TEST 1" echo "lfsck -c -l --mdsdb $MDSDB --ostdb $OSTDB_LIST $MOUNT" -lfsck -c -l --mdsdb $MDSDB --ostdb $OSTDB_LIST $MOUNT +echo y | lfsck -c -l --mdsdb $MDSDB --ostdb $OSTDB_LIST $MOUNT RET=$? [ $RET -eq 0 ] && echo "clean after first check" && exit 0 echo "LFSCK TEST 1 - finished with rc=$RET"