Whamcloud - gitweb
*** empty log message ***
[fs/lustre-release.git] / lustre / tests / replay-dual.sh
index c6428c7..cdeae9f 100755 (executable)
@@ -2,8 +2,8 @@
 
 set -e
 
-# bug number:  13129 13129 10124 
-ALWAYS_EXCEPT="2     3     15c   $REPLAY_DUAL_EXCEPT"
+# bug number:  10124
+ALWAYS_EXCEPT="15c   $REPLAY_DUAL_EXCEPT"
 
 SAVE_PWD=$PWD
 PTLDEBUG=${PTLDEBUG:--1}
@@ -26,7 +26,7 @@ init_test_env $@
 
 remote_mds_nodsh && skip "remote MDS with nodsh" && exit 0
 
-[ "$SLOW" = "no" ] && EXCEPT_SLOW="1 2 3 4 5 14"
+[ "$SLOW" = "no" ] && EXCEPT_SLOW="21b"
 
 build_test_filter
 
@@ -215,7 +215,7 @@ test_12() {
     do_facet $SINGLEMDS lctl set_param fail_loc=0x80000302
     facet_failover $SINGLEMDS
     do_facet $SINGLEMDS lctl set_param fail_loc=0
-    df $MOUNT || return 1
+    clients_up || return 1
 
     ls $DIR/$tfile
     kill -USR1 $MULTIPID || return 3
@@ -236,11 +236,11 @@ test_13() {
     kill -USR1 $MULTIPID || return 3
     wait $MULTIPID || return 4
 
-    # drop close 
+    # drop close
     do_facet $SINGLEMDS lctl set_param fail_loc=0x80000115
     facet_failover $SINGLEMDS
     do_facet $SINGLEMDS lctl set_param fail_loc=0
-    df $MOUNT || return 1
+    clients_up || return 1
 
     ls $DIR/$tfile
     $CHECKSTAT -t file $DIR/$tfile || return 2
@@ -250,7 +250,7 @@ test_13() {
 }
 run_test 13 "close resend timeout"
 
-test_14() {
+test_14a() {
     replay_barrier $SINGLEMDS
     createmany -o $MOUNT1/$tfile- 25
     createmany -o $MOUNT2/$tfile-2- 1
@@ -259,7 +259,7 @@ test_14() {
 
     facet_failover $SINGLEMDS
     # expect failover to fail due to missing client 2
-    df $MOUNT && return 1
+    client_evicted || return 1
     sleep 1
 
     # first 25 files should have been replayed 
@@ -268,16 +268,44 @@ test_14() {
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail" 
     return 0
 }
-run_test 14 "timeouts waiting for lost client during replay"
+run_test 14a "timeouts waiting for lost client during replay"
 
-test_15a() {   # was test_15
+test_14b() {
+    BEFOREUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
+    mkdir -p $MOUNT1/$tdir
+    replay_barrier $SINGLEMDS
+    createmany -o $MOUNT1/$tfile- 5
+    echo "data" > $MOUNT2/$tdir/$tfile-2
+    createmany -o $MOUNT1/$tfile-3- 5
+    umount $MOUNT2
+
+    fail $SINGLEMDS
+    wait_recovery_complete $SINGLEMDS || error "MDS recovery not done"
+
+    # first 25 files should have been replayed
+    unlinkmany $MOUNT1/$tfile- 5 || return 2
+    unlinkmany $MOUNT1/$tfile-3- 5 || return 3
+
+    zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
+
+    wait_mds_ost_sync || return 4
+    wait_destroy_complete || return 5
+
+    AFTERUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
+    log "before $BEFOREUSED, after $AFTERUSED"
+    [ $AFTERUSED -ne $BEFOREUSED ] && \
+        error "after $AFTERUSED > before $BEFOREUSED" && return 4
+    return 0
+}
+run_test 14b "delete ost orphans if gap occured in objids due to VBR"
+
+test_15a() { # was test_15
     replay_barrier $SINGLEMDS
     createmany -o $MOUNT1/$tfile- 25
     createmany -o $MOUNT2/$tfile-2- 1
     umount $MOUNT2
 
-    facet_failover $SINGLEMDS
-    df $MOUNT || return 1
+    fail $SINGLEMDS
 
     unlinkmany $MOUNT1/$tfile- 25 || return 2
     [ -e $MOUNT1/$tfile-2-0 ] && error "$tfile-2-0 exists"
@@ -290,14 +318,12 @@ run_test 15a "timeout waiting for lost client during replay, 1 client completes"
 test_15c() {
     replay_barrier $SINGLEMDS
     for ((i = 0; i < 2000; i++)); do
-       echo "data" > "$MOUNT2/${tfile}-$i" || error "create ${tfile}-$i failed"
+        echo "data" > "$MOUNT2/${tfile}-$i" || error "create ${tfile}-$i failed"
     done
-    
     umount $MOUNT2
-    facet_failover $SINGLEMDS
 
-    df $MOUNT || return 1
-    
+    fail $SINGLEMDS
+
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
     return 0
 }
@@ -311,8 +337,7 @@ test_16() {
 
     facet_failover $SINGLEMDS
     sleep $TIMEOUT
-    facet_failover $SINGLEMDS
-    df $MOUNT || return 1
+    fail $SINGLEMDS
 
     unlinkmany $MOUNT1/$tfile- 25 || return 2
 
@@ -334,8 +359,7 @@ test_17() {
 
     facet_failover ost1
     sleep $TIMEOUT
-    facet_failover ost1
-    df $MOUNT || return 1
+    fail ost1
 
     unlinkmany $MOUNT1/$tfile- 25 || return 2
 
@@ -388,8 +412,7 @@ test_20() { #16389
     touch $MOUNT1/a
     touch $MOUNT2/b
     umount $MOUNT2
-    facet_failover $SINGLEMDS
-    df $MOUNT1 || return 1
+    fail $SINGLEMDS
     rm $MOUNT1/a
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
     TIER1=$((`date +%s` - BEFORE))
@@ -398,8 +421,7 @@ test_20() { #16389
     touch $MOUNT1/a
     touch $MOUNT2/b
     umount $MOUNT2
-    facet_failover $SINGLEMDS
-    df $MOUNT1 || return 1
+    fail $SINGLEMDS
     rm $MOUNT1/a
     zconf_mount `hostname` $MOUNT2 || error "mount $MOUNT2 fail"
     TIER2=$((`date +%s` - BEFORE))