Whamcloud - gitweb
LU-12674 osp: handle -EINPROGRESS on llog objects
[fs/lustre-release.git] / lustre / tests / sanity.sh
index 42bb2fe..67f6563 100644 (file)
@@ -6928,13 +6928,16 @@ run_test 60e "no space while new llog is being created"
 
 test_60g() {
        local pid
+       local i
 
        test_mkdir -c $MDSCOUNT $DIR/$tdir
-       $LFS setdirstripe -D -i -1 -c $MDSCOUNT $DIR/$tdir
 
        (
                local index=0
                while true; do
+                       $LFS setdirstripe -i $(($index % $MDSCOUNT)) \
+                               -c $MDSCOUNT $DIR/$tdir/subdir$index \
+                               2>/dev/null
                        mkdir $DIR/$tdir/subdir$index 2>/dev/null
                        rmdir $DIR/$tdir/subdir$index 2>/dev/null
                        index=$((index + 1))
@@ -6943,16 +6946,34 @@ test_60g() {
 
        pid=$!
 
-       for i in $(seq 100); do 
+       for i in {0..100}; do
                # define OBD_FAIL_OSD_TXN_START    0x19a
-               do_facet mds1 lctl set_param fail_loc=0x8000019a
+               local index=$((i % MDSCOUNT + 1))
+
+               do_facet mds$index $LCTL set_param fail_loc=0x8000019a \
+                       > /dev/null
                usleep 100
        done
 
        kill -9 $pid
 
+       for i in $(seq $MDSCOUNT); do
+               do_facet mds$i $LCTL set_param fail_loc=0 > /dev/null
+       done
+
        mkdir $DIR/$tdir/new || error "mkdir failed"
        rmdir $DIR/$tdir/new || error "rmdir failed"
+
+       do_facet mds1 $LCTL lfsck_start -M $(facet_svc mds1) -A -C \
+               -t namespace
+       for i in $(seq $MDSCOUNT); do
+               wait_update_facet mds$i "$LCTL get_param -n \
+                       mdd.$(facet_svc mds$i).lfsck_namespace |
+                       awk '/^status/ { print \\\$2 }'" "completed"
+       done
+
+       ls -R $DIR/$tdir || error "ls failed"
+       rm -rf $DIR/$tdir || error "rmdir failed"
 }
 run_test 60g "transaction abort won't cause MDT hung"
 
@@ -8444,12 +8465,14 @@ test_101c() {
        cancel_lru_locks osc
        $LCTL set_param osc.*.rpc_stats 0
        $READS -f $DIR/$tfile -s$FILE_LENGTH -b$rsize -n$nreads -t 180
+       $LCTL get_param osc.*.rpc_stats
        for osc_rpc_stats in $($LCTL get_param -N osc.*.rpc_stats); do
                local stats=$($LCTL get_param -n $osc_rpc_stats)
                local lines=$(echo "$stats" | awk 'END {print NR;}')
                local size
 
                if [ $lines -le 20 ]; then
+                       echo "continue debug"
                        continue
                fi
                for size in 1 2 4 8; do
@@ -21850,6 +21873,19 @@ test_817() {
 }
 run_test 817 "nfsd won't cache write lock for exec file"
 
+test_818() {
+       mkdir $DIR/$tdir
+       $LFS setstripe -c1 -i0 $DIR/$tfile
+       $LFS setstripe -c1 -i1 $DIR/$tfile
+       stop $SINGLEMDS
+       #define OBD_FAIL_OSP_CANT_PROCESS_LLOG          0x2105
+       do_facet $SINGLEMDS lctl set_param fail_loc=0x80002105
+       start $SINGLEMDS $(mdsdevname ${SINGLEMDS//mds/}) $MDS_MOUNT_OPTS ||
+               error "start $SINGLEMDS failed"
+       rm -rf $DIR/$tdir
+}
+run_test 818 "unlink with failed llog"
+
 #
 # tests that do cleanup/setup should be run at the end
 #