Whamcloud - gitweb
LU-10143 tests: Add version check for interop
[fs/lustre-release.git] / lustre / tests / replay-single.sh
index b31596b..3b53bac 100755 (executable)
@@ -31,10 +31,6 @@ ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT "
 if [ $(facet_fstype $SINGLEMDS) = "zfs" ]; then
 # bug number for skipped test: LU-11388
        ALWAYS_EXCEPT+="131b"
-       if [ $MDSCOUNT -gt 1 ]; then
-# bug number for skipped test:   LU-10740 LU-11330 LU-9157 LU-11336
-               ALWAYS_EXCEPT+=" 2d       70d      80c     80d"
-       fi
 fi
 if $SHARED_KEY; then
 # bug number for skipped tests: LU-9795 (all below)
@@ -141,6 +137,9 @@ test_2c() {
 run_test 2c "setstripe replay"
 
 test_2d() {
+       [[ $mds1_FSTYPE = "zfs" ]] &&
+               [[ $MDS1_VERSION -lt $(version_code 2.12.51) ]] &&
+               skip "requires LU-10143 fix on MDS"
        replay_barrier $SINGLEMDS
        $LFS setdirstripe -i 0 -c $MDSCOUNT $DIR/$tdir
        fail $SINGLEMDS
@@ -955,7 +954,7 @@ test_41() {
 
        local f=$MOUNT/$tfile
        # make sure the start of the file is ost1
-       $SETSTRIPE -S $((128 * 1024)) -i 0 $f
+       $LFS setstripe -S $((128 * 1024)) -i 0 $f
        do_facet client dd if=/dev/zero of=$f bs=4k count=1 ||
                error "dd on client failed"
        cancel_lru_locks osc
@@ -1857,8 +1856,8 @@ test_65b() #bug 3055
        $LCTL dk > /dev/null
        # Slow down a request to the current service time, this is critical
        # because previous tests may have caused this value to increase.
-       $SETSTRIPE --stripe-index=0 --stripe-count=1 $DIR/$tfile ||
-               error "$SETSTRIPE failed for $DIR/$tfile"
+       $LFS setstripe --stripe-index=0 --stripe-count=1 $DIR/$tfile ||
+               error "$LFS setstripe failed for $DIR/$tfile"
 
        multiop $DIR/$tfile Ow1yc
        REQ_DELAY=`lctl get_param -n osc.${FSNAME}-OST0000-osc-*.timeouts |
@@ -1870,8 +1869,8 @@ test_65b() #bug 3055
        do_facet ost1 $LCTL set_param fail_loc=0x224
 
        rm -f $DIR/$tfile
-       $SETSTRIPE --stripe-index=0 --stripe-count=1 $DIR/$tfile ||
-               error "$SETSTRIPE failed"
+       $LFS setstripe --stripe-index=0 --stripe-count=1 $DIR/$tfile ||
+               error "$LFS setstripe failed"
        # force some real bulk transfer
        multiop $DIR/$tfile oO_CREAT:O_RDWR:O_SYNC:w4096c
 
@@ -1974,7 +1973,8 @@ test_67b() #bug 3055
         osc.$mdtosc.prealloc_next_id)
 
        mkdir -p $DIR/$tdir/${OST} || error "mkdir $DIR/$tdir/${OST} failed"
-       $SETSTRIPE -i 0 -c 1 $DIR/$tdir/${OST} || error "$SETSTRIPE failed"
+       $LFS setstripe -i 0 -c 1 $DIR/$tdir/${OST} ||
+               error "$LFS setstripe failed"
        echo "Creating to objid $last_id on ost $OST..."
 #define OBD_FAIL_OST_PAUSE_CREATE        0x223
     do_facet ost1 "$LCTL set_param fail_val=20000"
@@ -2016,8 +2016,8 @@ test_68 () #bug 13813
        do_facet ost1 "echo $TIMEOUT >> $ldlm_enqueue_min_r"
 
        mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
-       $SETSTRIPE --stripe-index=0 -c 1 $DIR/$tdir ||
-               error "$SETSTRIPE failed for $DIR/$tdir"
+       $LFS setstripe --stripe-index=0 -c 1 $DIR/$tdir ||
+               error "$LFS setstripe failed for $DIR/$tdir"
        #define OBD_FAIL_LDLM_PAUSE_CANCEL       0x312
        $LCTL set_param fail_val=$(($TIMEOUT - 1))
        $LCTL set_param fail_loc=0x80000312
@@ -2382,7 +2382,8 @@ test_70f_loop(){
        DD_OPTS=
 
        mkdir -p $DIR/$tdir || error "cannot create $DIR/$tdir directory"
-       $SETSTRIPE -c -1 $DIR/$tdir || error "cannot $SETSTRIPE $DIR/$tdir"
+       $LFS setstripe -c -1 $DIR/$tdir ||
+               error "cannot $LFS setstripe $DIR/$tdir"
 
        touch $stopflag
        while [ -f $stopflag ]; do
@@ -2552,8 +2553,8 @@ test_73b() {
        rm -f $DIR/$tfile
 
        replay_barrier $SINGLEMDS
-       #define OBD_FAIL_LDLM_REPLY       0x30c
-       do_facet $SINGLEMDS "lctl set_param fail_loc=0x8000030c"
+       #define OBD_FAIL_MDS_LDLM_REPLY_NET       0x157
+       do_facet $SINGLEMDS "lctl set_param fail_loc=0x80000157"
        fail $SINGLEMDS
        kill -USR1 $pid
        wait $pid || error "multiop pid failed"
@@ -2653,6 +2654,9 @@ test_80b() {
 run_test 80b "DNE: create remote dir, drop update rep from MDT0, fail MDT1"
 
 test_80c() {
+       [[ $mds1_FSTYPE = "zfs" ]] &&
+               [[ $MDS1_VERSION -lt $(version_code 2.12.51) ]] &&
+               skip "requires LU-10143 fix on MDS"
        [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
        ([ $FAILURE_MODE == "HARD" ] &&
                [ "$(facet_host mds1)" == "$(facet_host mds2)" ]) &&
@@ -2683,6 +2687,9 @@ test_80c() {
 run_test 80c "DNE: create remote dir, drop update rep from MDT1, fail MDT[0,1]"
 
 test_80d() {
+       [[ $mds1_FSTYPE = "zfs" ]] &&
+               [[ $MDS1_VERSION -lt $(version_code 2.12.51) ]] &&
+               skip "requires LU-10143 fix on MDS"
        [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
        local MDTIDX=1
        local remote_dir=$DIR/$tdir/remote_dir
@@ -3114,28 +3121,26 @@ test_85a() { #bug 16774
 run_test 85a "check the cancellation of unused locks during recovery(IBITS)"
 
 test_85b() { #bug 16774
+       rm -rf $DIR/$tdir
+       mkdir $DIR/$tdir
+
        lctl set_param -n ldlm.cancel_unused_locks_before_replay "1"
 
        if ! combined_mgs_mds ; then
                mount_mgs_client
        fi
 
-       create_pool $FSNAME.$TESTNAME ||
-               error "unable to create pool $TESTNAME"
-       do_facet mgs $LCTL pool_add $FSNAME.$TESTNAME $FSNAME-OST0000 ||
-               error "unable to add pool $TESTNAME"
-
-       $SETSTRIPE -c 1 -p $FSNAME.$TESTNAME $DIR
+       $LFS setstripe -c 1 -i 0 $DIR/$tdir
 
        for i in $(seq 100); do
-               dd if=/dev/urandom of=$DIR/$tfile-$i bs=4096 \
+               dd if=/dev/urandom of=$DIR/$tdir/$tfile-$i bs=4096 \
                        count=32 >/dev/null 2>&1
        done
 
        cancel_lru_locks osc
 
        for i in $(seq 100); do
-               dd if=$DIR/$tfile-$i of=/dev/null bs=4096 \
+               dd if=$DIR/$tdir/$tfile-$i of=/dev/null bs=4096 \
                        count=32 >/dev/null 2>&1
        done
 
@@ -3152,11 +3157,6 @@ test_85b() { #bug 16774
                 -n ldlm.namespaces.*OST0000*$addr.lock_unused_count)
        echo "after recovery: unused locks count = $count2"
 
-       do_facet mgs $LCTL pool_remove $FSNAME.$TESTNAME $FSNAME-OST0000 ||
-               error "unable to remove pool $TESTNAME"
-       do_facet mgs $LCTL pool_destroy $FSNAME.$TESTNAME ||
-               error "unable to destroy the pool $TESTNAME"
-
        if ! combined_mgs_mds ; then
                umount_mgs_client
        fi
@@ -3164,6 +3164,8 @@ test_85b() { #bug 16774
        if [ $count2 -ge $count ]; then
                error "unused locks are not canceled"
        fi
+
+       rm -rf $DIR/$tdir
 }
 run_test 85b "check the cancellation of unused locks during recovery(EXTENT)"
 
@@ -3181,7 +3183,7 @@ test_87a() {
        do_facet ost1 "lctl set_param -n obdfilter.${ost1_svc}.sync_journal 0"
 
        replay_barrier ost1
-       $SETSTRIPE -i 0 -c 1 $DIR/$tfile
+       $LFS setstripe -i 0 -c 1 $DIR/$tfile
        dd if=/dev/urandom of=$DIR/$tfile bs=1024k count=8 ||
                error "dd to $DIR/$tfile failed"
        cksum=$(md5sum $DIR/$tfile | awk '{print $1}')
@@ -3199,7 +3201,7 @@ test_87b() {
        do_facet ost1 "lctl set_param -n obdfilter.${ost1_svc}.sync_journal 0"
 
        replay_barrier ost1
-       $SETSTRIPE -i 0 -c 1 $DIR/$tfile
+       $LFS setstripe -i 0 -c 1 $DIR/$tfile
        dd if=/dev/urandom of=$DIR/$tfile bs=1024k count=8 ||
                error "dd to $DIR/$tfile failed"
        sleep 1 # Give it a chance to flush dirty data
@@ -3219,7 +3221,7 @@ test_88() { #bug 17485
        mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
        mkdir -p $TMP/$tdir || error "mkdir $TMP/$tdir failed"
 
-       $SETSTRIPE -i 0 -c 1 $DIR/$tdir || error "$SETSTRIPE"
+       $LFS setstripe -i 0 -c 1 $DIR/$tdir || error "$LFS setstripe failed"
 
        replay_barrier ost1
        replay_barrier $SINGLEMDS
@@ -3312,7 +3314,7 @@ test_89() {
        local blocks1=$(calc_osc_kbytes_used)
        local write_size=$(fs_log_size)
 
-       $SETSTRIPE -i 0 -c 1 $DIR/$tdir/$tfile
+       $LFS setstripe -i 0 -c 1 $DIR/$tdir/$tfile
        [ $write_size -lt 1024 ] && write_size=1024
        dd if=/dev/zero bs=${write_size}k count=10 of=$DIR/$tdir/$tfile
        sync
@@ -3426,9 +3428,9 @@ test_90() { # bug 19494
     [[ $(echo $list | wc -w) -eq 2 ]] ||
         error_noexit "lfs find reports the wrong list of affected files ${#list[@]}"
 
-    echo "Check getstripe: $GETSTRIPE -r --obd $obd"
-    list=$($GETSTRIPE -r --obd $obd $dir)
-    echo "$list"
+       echo "Check getstripe: $LFS getstripe -r --obd $obd"
+       list=$($LFS getstripe -r --obd $obd $dir)
+       echo "$list"
     for file in all f$index; do
         echo "$list" | grep $dir/$file ||
             error_noexit "lfs getsripe does not report the affected $obd for $file"
@@ -3447,8 +3449,8 @@ test_93a() {
 
        cancel_lru_locks osc
 
-       $SETSTRIPE -i 0 -c 1 $DIR/$tfile ||
-               error "$SETSTRIPE  $DIR/$tfile failed"
+       $LFS setstripe -i 0 -c 1 $DIR/$tfile ||
+               error "$LFS setstripe  $DIR/$tfile failed"
        dd if=/dev/zero of=$DIR/$tfile bs=1024 count=1 ||
                error "dd to $DIR/$tfile failed"
        #define OBD_FAIL_TGT_REPLAY_RECONNECT     0x715
@@ -4879,6 +4881,40 @@ test_132a() {
 }
 run_test 132a "PFL new component instantiate replay"
 
+test_133() {
+       [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
+       ([ $FAILURE_MODE == "HARD" ] &&
+               [ "$(facet_host mds1)" == "$(facet_host mds2)" ]) &&
+               skip "MDTs needs to be on diff hosts for HARD fail mode" &&
+               return 0
+
+       local remote_dir=$DIR/$tdir/remote_dir
+
+       mkdir -p $DIR/$tdir || error "mkdir $DIR/$tdir failed"
+       $LFS mkdir -i 1 $remote_dir
+
+       umount $MOUNT
+       do_facet mds2 $LCTL set_param seq.srv*MDT0001.space=clear
+
+       zconf_mount $(hostname) $MOUNT
+       client_up || return 1
+
+       #define OBD_FAIL_MDS_ALL_REQUEST_NET     0x123
+       # SEQ_QUERY                       = 700
+       do_facet mds1 $LCTL set_param fail_val=700 fail_loc=0x80000123
+       cp /etc/hosts $remote_dir/file &
+       local pid=$!
+       sleep 1
+
+       fail_nodf mds1
+
+       wait $pid || error "cp failed"
+       rm -rf $DIR/$tdir || error "rmdir failed"
+
+       return 0
+}
+run_test 133 "check resend of ongoing requests for lwp during failover"
+
 complete $SECONDS
 check_and_cleanup_lustre
 exit_status