which getfattr &>/dev/null || { skip_env "could not find getfattr" && exit 0; }
which setfattr &>/dev/null || { skip_env "could not find setfattr" && exit 0; }
-if [ ! -x `which $LFSCK_BIN` ]; then
- log "$($E2FSCK -V)"
- error "e2fsprogs does not support lfsck"
-fi
-
MOUNT_2=""
check_and_setup_lustre
# get the server target devices
get_svr_devs
+TESTDIR=$DIR/d0.$TESTSUITE
if is_empty_fs $MOUNT; then
# create test directory
- TESTDIR=$DIR/d0.$TESTSUITE
mkdir -p $TESTDIR || error "mkdir $TESTDIR failed"
# create some dirs and files on the filesystem
generate_db
# remount filesystem
+ORIG_REFORMAT=$REFORMAT
REFORMAT=""
check_and_setup_lustre
+REFORMAT=$ORIG_REFORMAT
# run lfsck
rc=0
fi
complete $SECONDS
+# The test directory contains some files referencing to some object
+# which could cause error when removing the directory.
+RMCNT=0
+while [ -d $TESTDIR ]; do
+ RMCNT=$((RMCNT + 1))
+ rm -fr $TESTDIR || echo "$RMCNT round: rm $TESTDIR failed"
+ [ $RMCNT -ge 10 ] && error "cleanup $TESTDIR failed $RMCNT times"
+ remount_client $MOUNT
+done
check_and_cleanup_lustre
exit_status