X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Ftests%2Freplay-dual.sh;h=bd5a748006613cfb000a0253499332ddcb4e6c3e;hb=39e4add67da46669496cd2eb9a0394f68f28f9e9;hp=665dbbe8854b9693f83f431fcc7317104c57b280;hpb=191061ee668400324f4505cf498f1ee2d57e4962;p=fs%2Flustre-release.git diff --git a/lustre/tests/replay-dual.sh b/lustre/tests/replay-dual.sh index 665dbbe..bd5a748 100755 --- a/lustre/tests/replay-dual.sh +++ b/lustre/tests/replay-dual.sh @@ -18,7 +18,7 @@ gen_config() { add_lmv lmv1_svc for mds in `mds_list`; do MDSDEV=$TMP/${mds}-`hostname` - add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1_svc + add_mds $mds --dev $MDSDEV --size $MDSSIZE --lmv lmv1_svc done add_lov_to_lmv lov1 lmv1_svc --stripe_sz $STRIPE_BYTES \ --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 @@ -28,7 +28,6 @@ gen_config() { add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \ --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 MDS=mds1_svc - fi add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE --failover @@ -36,8 +35,6 @@ gen_config() { add_client client ${MDS} --lov lov1 --path $MOUNT } - - build_test_filter SETUP=${SETUP:-"setup"} @@ -54,9 +51,20 @@ cleanup() { umount $MOUNT2 || true umount $MOUNT || true rmmod llite + + # b=3941 + # In mds recovery, the mds will clear orphans in ost by + # mds_lov_clear_orphan, which will sent the request to ost and waiting for + # the reply, if we stop mds at this time, we will got the obd_refcount > 1 + # errors, because mds_lov_clear_orphan grab a export of mds, + # so the obd_refcount of mds will not be zero. So, wait a while before + # stop mds. This bug needs further work. for mds in `mds_list`; do + sleep 5 stop $mds ${FORCE} $MDSLCONFARGS done + stop_lgssd + stop_lsvcgssd stop ost2 ${FORCE} stop ost ${FORCE} --dump cleanup-dual.log } @@ -69,6 +77,8 @@ fi setup() { gen_config + + start_krb5_kdc || exit 1 start ost --reformat $OSTLCONFARGS PINGER=`cat /proc/fs/lustre/pinger` @@ -79,6 +89,8 @@ setup() { fi start ost2 --reformat $OSTLCONFARGS + start_lsvcgssd || exit 2 + start_lgssd || exit 3 [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE for mds in `mds_list`; do start $mds --reformat $MDSLCONFARGS @@ -342,6 +354,7 @@ test_14() { facet_failover mds1 # expect failover to fail df $MOUNT && return 1 + sleep 1 # first 25 files shouuld have been # replayed @@ -361,6 +374,7 @@ test_15() { facet_failover mds1 df $MOUNT || return 1 + sleep 1 unlinkmany $MOUNT1/$tfile- 25 || return 2 @@ -378,6 +392,7 @@ test_16() { sleep $TIMEOUT facet_failover mds1 df $MOUNT || return 1 + sleep 1 unlinkmany $MOUNT1/$tfile- 25 || return 2 @@ -400,6 +415,7 @@ test_17() { sleep $TIMEOUT facet_failover ost df $MOUNT || return 1 + sleep 1 unlinkmany $MOUNT1/$tfile- 25 || return 2 @@ -428,7 +444,6 @@ test_18 () { } run_test 18 "replay open, Abort recovery, don't assert (3892)" - # cleanup with blocked enqueue fails until timer elapses (MDS busy), wait for # itexport NOW=0