From b72c4e8d0d1e7b34b67cc7dfa0c2d8da72cfe00d Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Tue, 9 Oct 2012 16:41:25 -0600 Subject: [PATCH] LU-2012 tests: disable replay-dual test_14b Disable replay-dual.sh test_14b until OST gap handling is fixed. The test is modified to make the pass/fail result more clear for when it is re-enabled, since any blocks that are allocated on the OST while the test is running will cause it to fail. This could happen because of updated config llog, OI updates, etc. Allow some small margin of space to be allocated on the OST before declaring failure. To make failed the orphan handling totally clear, ensure the orphan object is much larger than the margin of error. Signed-off-by: Andreas Dilger Change-Id: Ib14ecdfa1f8fbd5807195acb60e5ba507f500c1e Reviewed-on: http://review.whamcloud.com/4237 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Mike Pershin Reviewed-by: Yu Jian Reviewed-by: Oleg Drokin --- lustre/tests/replay-dual.sh | 51 ++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/lustre/tests/replay-dual.sh b/lustre/tests/replay-dual.sh index 66fc62b..f9bbbc0 100755 --- a/lustre/tests/replay-dual.sh +++ b/lustre/tests/replay-dual.sh @@ -4,8 +4,8 @@ set -e -# bug number: 10124 -ALWAYS_EXCEPT="15c $REPLAY_DUAL_EXCEPT" +# bug number: LU-2012 10124 +ALWAYS_EXCEPT="14b 15c $REPLAY_DUAL_EXCEPT" SAVE_PWD=$PWD PTLDEBUG=${PTLDEBUG:--1} @@ -312,34 +312,37 @@ run_test 13 "close resend timeout" test_14b() { wait_mds_ost_sync wait_delete_completed - BEFOREUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'` - mkdir -p $MOUNT1/$tdir - $SETSTRIPE -i 0 $MOUNT1/$tdir - replay_barrier $SINGLEMDS - createmany -o $MOUNT1/$tdir/$tfile- 5 - $SETSTRIPE -i 0 $MOUNT2/f14b-3 - echo "data" > $MOUNT2/f14b-3 - createmany -o $MOUNT1/$tdir/$tfile-3- 5 - umount $MOUNT2 + local BEFOREUSED=$(df -P $DIR | tail -1 | awk '{ print $3 }') - fail $SINGLEMDS - wait_recovery_complete $SINGLEMDS || error "MDS recovery not done" + mkdir -p $MOUNT1/$tdir + $SETSTRIPE -i 0 $MOUNT1/$tdir + replay_barrier $SINGLEMDS + createmany -o $MOUNT1/$tdir/$tfile- 5 - # first 25 files should have been replayed - unlinkmany $MOUNT1/$tdir/$tfile- 5 || return 2 - unlinkmany $MOUNT1/$tdir/$tfile-3- 5 || return 3 + $SETSTRIPE -i 0 $MOUNT2/$tfile-2 + dd if=/dev/zero of=$MOUNT2/$tfile-2 bs=1M count=5 + createmany -o $MOUNT1/$tdir/$tfile-3- 5 + umount $MOUNT2 - zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail" + fail $SINGLEMDS + wait_recovery_complete $SINGLEMDS || error "MDS recovery not done" - wait_mds_ost_sync || return 4 - wait_delete_completed || return 5 + # first set of files should have been replayed + unlinkmany $MOUNT1/$tdir/$tfile- 5 || error "first unlinks failed" + unlinkmany $MOUNT1/$tdir/$tfile-3- 5 || error "second unlinks failed" - AFTERUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'` - log "before $BEFOREUSED, after $AFTERUSED" - [ $AFTERUSED -ne $BEFOREUSED ] && \ - error "after $AFTERUSED > before $BEFOREUSED" && return 4 - return 0 + zconf_mount $HOSTNAME $MOUNT2 || error "mount $MOUNT2 failed" + [ -f $MOUNT2/$tfile-2 ] && error "$MOUNT2/$tfile-2 exists!" + + wait_mds_ost_sync || error "wait_mds_ost_sync failed" + wait_delete_completed || error "wait_delete_complete failed" + + local AFTERUSED=$(df -P $DIR | tail -1 | awk '{ print $3 }') + log "before $BEFOREUSED, after $AFTERUSED" + # leave some margin for some files/dirs to be modified (OI, llog, etc) + [ $AFTERUSED -gt $((BEFOREUSED + 128)) ] && + error "after $AFTERUSED > before $BEFOREUSED" || true } run_test 14b "delete ost orphans if gap occured in objids due to VBR" -- 1.8.3.1