X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Freplay-dual.sh;h=a84f255e02789de593ec07f187175420b740d0d7;hp=a09ef1bf47da642667a9662e8cef41458c9394b9;hb=18f27e36e7de72dcb31d81874cc988c291b44ad8;hpb=d9248bdc874f71141b2f48cacc351bfc8622773b diff --git a/lustre/tests/replay-dual.sh b/lustre/tests/replay-dual.sh index a09ef1b..a84f255 100755 --- a/lustre/tests/replay-dual.sh +++ b/lustre/tests/replay-dual.sh @@ -9,6 +9,10 @@ init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/lmv.sh} +# Skip these tests +# 21 - open vs. unlink out of order replay: isn't solved yet +ALWAYS_EXCEPT="21" + SETUP=${SETUP:-"setup"} CLEANUP=${CLEANUP:-"cleanup"} @@ -27,7 +31,7 @@ gen_config() { add_mds mds1 --dev $MDSDEV --size $MDSSIZE add_lov lov1 mds1 --stripe_sz $STRIPE_BYTES \ --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 - MDS=mds1_svc + MDS=mds1 fi add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE --failover @@ -467,6 +471,45 @@ test_20() { # bug 3822 - evicting client with enqueued lock } run_test 20 "ldlm_handle_enqueue succeeds on evicted export (3822)" +# $1 - number of mountpoint +# $2 - mds +function find_dev_for_fs_and_mds() +{ + local fsuuid=`cat /proc/fs/lustre/llite/fs$1/uuid` + $LCTL device_list | awk "/mdc.*$2.*$fsuuid/ {print \$4}" +} + +test_21() { + mdc1dev=`find_dev_for_fs_and_mds 0 mds1` + mdc2dev=`find_dev_for_fs_and_mds 1 mds1` + multiop $MOUNT1/f21 O + cancel_lru_locks MDC + # generate IT_OPEN to be replayed against existing file + multiop $MOUNT1/f21 o_Sc & + pid=$! + + # IT_OPEN will be committed by the failover time + replay_barrier mds1 + + # generate MDS_REINT_UNLINK to be replayed + rm -f $MOUNT2/f21 || return 1 + + # disable recovery on the both clients + $LCTL --device %$mdc1dev disable_recovery + $LCTL --device %$mdc2dev disable_recovery + facet_failover mds1 + + # let unlink to be replayed first + $LCTL --device %$mdc2dev enable_recovery + sleep $((TIMEOUT/2)) + + # now let open to be replaye + $LCTL --device %$mdc1dev enable_recovery + kill -USR1 $pid + wait $pid || return 2 +} +run_test 21 "open vs. unlink out of order replay" + if [ "$ONLY" != "setup" ]; then equals_msg test complete, cleaning up if [ $NOW ]; then