X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=inline;f=lustre%2Ftests%2Ftest-framework.sh;h=0da57f60de7839520d6bb125da3ec3dfa0b2255c;hb=d16729c7e2e7d8b825181686ad42def3121f8445;hp=9871bf8d025173ebb472f9463fd37a600b0732f0;hpb=9b1526b9431eb8687bc09306d3f440e7eda2aedf;p=fs%2Flustre-release.git diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 9871bf8..0da57f6 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1873,30 +1873,43 @@ cleanup_check() { } wait_update () { - local node=$1 - local TEST=$2 - local FINAL=$3 - local MAX=${4:-90} - - local RESULT - local WAIT=0 - local sleep=1 - local print=10 - while [ true ]; do - RESULT=$(do_node $node "$TEST") - if [ "$RESULT" == "$FINAL" ]; then - [ -z "$RESULT" -o $WAIT -le $sleep ] || - echo "Updated after ${WAIT}s: wanted '$FINAL' got '$RESULT'" - return 0 - fi - [ $WAIT -ge $MAX ] && break - [ $((WAIT % print)) -eq 0 ] && - echo "Waiting $((MAX - WAIT)) secs for update" - WAIT=$((WAIT + sleep)) - sleep $sleep - done - echo "Update not seen after ${MAX}s: wanted '$FINAL' got '$RESULT'" - return 3 + local verbose=false + if [[ "$1" == "--verbose" ]]; then + shift + verbose=true + fi + + local node=$1 + local TEST=$2 + local FINAL=$3 + local MAX=${4:-90} + local RESULT + local PREV_RESULT + local WAIT=0 + local sleep=1 + local print=10 + + while [ true ]; do + RESULT=$(do_node $node "$TEST") + if [[ "$RESULT" == "$FINAL" ]]; then + [[ -z "$RESULT" || $WAIT -le $sleep ]] || + echo "Updated after ${WAIT}s: wanted '$FINAL'"\ + "got '$RESULT'" + return 0 + fi + if [[ $verbose && "$RESULT" != "$PREV_RESULT" ]]; then + echo "Changed after ${WAIT}s: from '$PREV_RESULT'"\ + "to '$RESULT'" + PREV_RESULT=$RESULT + fi + [[ $WAIT -ge $MAX ]] && break + [[ $((WAIT % print)) -eq 0 ]] && + echo "Waiting $((MAX - WAIT)) secs for update" + WAIT=$((WAIT + sleep)) + sleep $sleep + done + echo "Update not seen after ${MAX}s: wanted '$FINAL' got '$RESULT'" + return 3 } wait_update_facet() { @@ -3533,10 +3546,17 @@ is_empty_dir() { # empty lustre filesystem may have empty directories lost+found and .lustre is_empty_fs() { + # exclude .lustre & lost+found [ $(find $1 -maxdepth 1 -name lost+found -o -name .lustre -prune -o \ -print | wc -l) = 1 ] || return 1 [ ! -d $1/lost+found ] || is_empty_dir $1/lost+found || return 1 - [ ! -d $1/.lustre ] || is_empty_dir $1/.lustre || return 1 + if [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.4.0) ]; then + # exclude .lustre/fid (LU-2780) + [ $(find $1/.lustre -maxdepth 1 -name fid -prune -o \ + -print | wc -l) = 1 ] || return 1 + else + [ ! -d $1/.lustre ] || is_empty_dir $1/.lustre || return 1 + fi return 0 } @@ -6084,7 +6104,7 @@ remove_ost_objects() { fi mount -t $(facet_fstype $facet) $opts $ostdev $mntpt || return $? - rc=0; + rc=0 for i in $objids; do rm $mntpt/O/$group/d$((i % 32))/$i || { rc=$?; break; } done @@ -6108,7 +6128,7 @@ remove_mdt_files() { fi mount -t $(facet_fstype $facet) $opts $mdtdev $mntpt || return $? - rc=0; + rc=0 for f in $files; do rm $mntpt/ROOT/$f || { rc=$?; break; } done