Whamcloud - gitweb
LU-13417 test: use mkdir_on_mdt0() in replay-dual
[fs/lustre-release.git] / lustre / tests / replay-dual.sh
index ebbeafa..2270e1e 100755 (executable)
@@ -21,11 +21,6 @@ ALWAYS_EXCEPT+="                14b     21b     26 "
 # bug number for skipped test:        LU-2230
        ALWAYS_EXCEPT="$ALWAYS_EXCEPT 21b"
 
-if $SHARED_KEY; then
-# bug number for skipped tests:  LU-9795 LU-9795
-       ALWAYS_EXCEPT+="         0a      0b "
-fi
-
 #                                   7  (min)"
 [ "$SLOW" = "no" ] && EXCEPT_SLOW="21b "
 
@@ -451,7 +446,7 @@ test_18() { # bug 3822 - evicting client with enqueued lock
        do_facet client lctl set_param ldlm.namespaces.*.early_lock_cancel=0
        do_facet client lctl set_param fail_loc=0x80000305  # drop cb, evict
        cancel_lru_locks mdc
-       usleep 500 # wait to ensure first client is one that will be evicted
+       sleep 0.1 # wait to ensure first client is one that will be evicted
        openfile -f O_RDONLY $MOUNT2/$tdir/$tfile
        wait $OPENPID
        do_facet client lctl set_param ldlm.namespaces.*.early_lock_cancel=1
@@ -626,9 +621,10 @@ test_22a () {
                return 0
 
        local MDTIDX=1
-       local remote_dir=${tdir}/remote_dir
+       local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
 
        # OBD_FAIL_MDS_REINT_NET_REP       0x119
        do_facet mds$((MDTIDX + 1)) lctl set_param fail_loc=0x119
@@ -637,7 +633,7 @@ test_22a () {
        sleep 1
 
        fail mds$((MDTIDX + 1))
-       wait $CLIENT_PID || error "lfs mkdir failed"
+       wait $CLIENT_PID || error "lfs mkdir -i $MDTIDX failed"
 
        replay_barrier mds$MDTIDX
        create_remote_dir_files_22 || error "Remote creation failed $?"
@@ -655,16 +651,17 @@ test_22b () {
        local MDTIDX=1
        local remote_dir=$tdir/remote_dir
 
-       # OBD_FAIL_MDS_REINT_NET_REP       0x119
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
 
+       # OBD_FAIL_MDS_REINT_NET_REP       0x119
        do_facet mds$((MDTIDX + 1)) lctl set_param fail_loc=0x119
        do_node $CLIENT1 $LFS mkdir -i $MDTIDX $MOUNT1/$remote_dir &
        CLIENT_PID=$!
        sleep 1
 
        fail mds${MDTIDX},mds$((MDTIDX + 1))
-       wait $CLIENT_PID || error "lfs mkdir failed"
+       wait $CLIENT_PID || error "lfs mkdir -i $MDTIDX failed"
 
        replay_barrier mds$MDTIDX
        create_remote_dir_files_22 || error "Remote creation failed $?"
@@ -684,9 +681,10 @@ test_22c () {
                skip "MDTs needs to be on diff hosts for HARD fail mode" &&
                return 0
        local MDTIDX=1
-       local remote_dir=${tdir}/remote_dir
+       local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
 
        # OBD_FAIL_OUT_UPDATE_NET_REP    0x1701
        do_facet mds$MDTIDX lctl set_param fail_loc=0x1701
@@ -696,7 +694,7 @@ test_22c () {
        do_facet mds$MDTIDX lctl set_param fail_loc=0
 
        fail mds$MDTIDX
-       wait $CLIENT_PID || error "lfs mkdir failed"
+       wait $CLIENT_PID || error "lfs mkdir -i $MDTIDX failed"
 
        replay_barrier mds$MDTIDX
        create_remote_dir_files_22 || error "Remote creation failed $?"
@@ -712,9 +710,10 @@ run_test 22c "c1 lfs mkdir -i 1 d1, M1 drop update & fail M1, c2 mkdir d1/dir"
 test_22d () {
        [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
        local MDTIDX=1
-       local remote_dir=${tdir}/remote_dir
+       local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
 
        # OBD_FAIL_OUT_UPDATE_NET_REP    0x1701
        do_facet mds$MDTIDX lctl set_param fail_loc=0x1701
@@ -724,7 +723,7 @@ test_22d () {
        do_facet mds$MDTIDX lctl set_param fail_loc=0
 
        fail mds${MDTIDX},mds$((MDTIDX + 1))
-       wait $CLIENT_PID || error "lfs mkdir failed"
+       wait $CLIENT_PID || error "lfs mkdir -i $MDTIDX failed"
 
        replay_barrier mds$MDTIDX
        create_remote_dir_files_22 || error "Remote creation failed $?"
@@ -758,9 +757,10 @@ test_23a () {
        local MDTIDX=1
        local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
        do_node $CLIENT1 $LFS mkdir -i $MDTIDX $MOUNT1/$remote_dir ||
-                       error "lfs mkdir failed"
+               error "lfs mkdir -i $MDTIDX failed"
        # OBD_FAIL_MDS_REINT_NET_REP       0x119
        do_facet mds$((MDTIDX + 1)) lctl set_param fail_loc=0x119
        do_node $CLIENT1 rmdir $MOUNT1/$remote_dir &
@@ -787,9 +787,10 @@ test_23b () {
        local MDTIDX=1
        local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT/$tdir failed"
        do_node $CLIENT1 $LFS mkdir -i $MDTIDX $MOUNT1/$remote_dir ||
-                       error "lfs mkdir failed"
+               error "lfs mkdir -i $MDTIDX failed"
 
        # OBD_FAIL_MDS_REINT_NET_REP       0x119
        do_facet mds$((MDTIDX + 1)) lctl set_param fail_loc=0x119
@@ -822,9 +823,10 @@ test_23c () {
        local MDTIDX=1
        local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
        do_node $CLIENT1 $LFS mkdir -i $MDTIDX $MOUNT1/$remote_dir ||
-                       error "lfs mkdir failed"
+               error "lfs mkdir -i $MDTIDX failed"
 
        # OBD_FAIL_OUT_UPDATE_NET_REP    0x1701
        do_facet mds${MDTIDX} lctl set_param fail_loc=0x1701
@@ -852,9 +854,10 @@ test_23d () {
        local MDTIDX=1
        local remote_dir=$tdir/remote_dir
 
-       do_node $CLIENT1 mkdir -p $MOUNT1/${tdir}
+       do_node $CLIENT1 $LFS mkdir -i 0 $MOUNT1/$tdir ||
+               error "lfs mkdir -i 0 $MOUNT1/$tdir failed"
        do_node $CLIENT1 $LFS mkdir -i $MDTIDX $MOUNT1/$remote_dir ||
-                       error "lfs mkdir failed"
+               error "lfs mkdir -i $MDTIDX failed"
 
        # OBD_FAIL_UPDATE_OBJ_NET    0x1701
        do_facet mds${MDTIDX} lctl set_param fail_loc=0x1701
@@ -1065,6 +1068,26 @@ test_29() {
 }
 run_test 29 "replay vs update with the same xid"
 
+test_30() {
+       $LFS setstripe -E 1m -L mdt -E -1 $DIR/$tfile
+       #first write to have no problems with grants
+       dd if=/dev/zero of=$DIR/$tfile bs=4k count=10 ||
+               error "dd on client failed"
+       dd if=/dev/zero of=$DIR/$tfile bs=4k count=10 seek=10 ||
+               error "dd on client failed"
+
+       #define OBD_FAIL_LDLM_REPLAY_PAUSE       0x32e
+       lctl set_param fail_loc=0x32e fail_val=4
+       dd of=/dev/null if=$DIR2/$tfile &
+       local pid=$!
+       sleep 1
+
+       fail $SINGLEMDS
+
+       wait $pid || error "dd on client failed"
+}
+run_test 30 "layout lock replay is not blocked on IO"
+
 complete $SECONDS
 SLEEP=$((SECONDS - $NOW))
 [ $SLEEP -lt $TIMEOUT ] && sleep $SLEEP