Whamcloud - gitweb
LU-7715 out: fix err_serious in out_handle
[fs/lustre-release.git] / lustre / tests / replay-vbr.sh
index e25ffee..a6301a3 100644 (file)
@@ -1,15 +1,24 @@
 #!/bin/bash
+# -*- mode: Bash; tab-width: 4; indent-tabs-mode: t; -*-
+# vim:shiftwidth=4:softtabstop=4:tabstop=4:
 
 set -e
 
 # bug number:  16356
 ALWAYS_EXCEPT="12a   $REPLAY_VBR_EXCEPT"
 
+case "$(lsb_release -sr)" in   # only disable tests for el7
+7*)    # bug number:  LU-6455
+       ALWAYS_EXCEPT="$ALWAYS_EXCEPT 4i 4j 4k 10b"
+       ;;
+esac
+
 SAVE_PWD=$PWD
 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
 SETUP=${SETUP:-}
 CLEANUP=${CLEANUP:-}
 MOUNT_2=${MOUNT_2:-"yes"}
+export MULTIOP=${MULTIOP:-multiop}
 . $LUSTRE/tests/test-framework.sh
 init_test_env $@
 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
@@ -55,7 +64,7 @@ rmultiop_start() {
     # /tmp/multiop_bg.pid file
 
     local pid_file=$TMP/multiop_bg.pid.$$
-    do_node $client "MULTIOP_PID_FILE=$pid_file LUSTRE= sh runmultiop_bg_pause $file $cmds" &
+    do_node $client "MULTIOP_PID_FILE=$pid_file LUSTRE= runmultiop_bg_pause $file $cmds" &
     local pid=$!
     sleep 3
     local multiop_pid
@@ -91,7 +100,7 @@ get_version() {
 
 #save COS setting
 cos_param_file=$TMP/rvbr-cos-params
-save_lustre_params $(comma_list $(mdts_nodes)) "mdt.*.commit_on_sharing" > $cos_param_file
+save_lustre_params $(get_facets MDS) "mdt.*.commit_on_sharing" > $cos_param_file
 
 test_0a() {
         get_version $CLIENT1 $DIR/$tdir/1a || true
@@ -143,7 +152,7 @@ test_1b() { # former test_0b
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -a $DIR/$tdir/$tfile; then
-        error "open succeeded unexpectedly"
+               error_and_remount "open succeeded unexpectedly"
     fi
 }
 run_test 1b "open (O_CREAT) checks version of parent"
@@ -208,7 +217,18 @@ test_2a() {  # extended former test_0d
     if (($pre != $post)); then
         error "version was changed: pre $pre, post $post"
     fi
-    do_node $CLIENT1 rm $DIR/$tfile-*
+       # remote directory
+       if [ $MDSCOUNT -ge 2 ]; then
+               #create remote dir
+               local MDT_IDX=1
+               pre=$(get_version $CLIENT1 $DIR)
+               do_node $CLIENT1 $LFS mkdir -i $MDT_IDX $DIR/$tfile-remote_dir
+               post=$(get_version $CLIENT1 $DIR)
+               if (($pre != $post)); then
+                       error "version was changed: pre $pre, post $post"
+               fi
+       fi
+       do_node $CLIENT1 rm -rf $DIR/$tfile-*
 
 }
 run_test 2a "create operations doesn't change version of parent"
@@ -230,7 +250,7 @@ test_2b() { # former test_0e
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -a $DIR/$tdir/$tfile; then
-        error "create succeeded unexpectedly"
+               error_and_remount "create succeeded unexpectedly"
     fi
 }
 run_test 2b "create checks version of parent"
@@ -246,6 +266,18 @@ test_3a() { # former test_0f
     if (($pre != $post)); then
         error "version was changed: pre $pre, post $post"
     fi
+
+       if [ $MDSCOUNT -ge 2 ]; then
+               #create remote dir
+               local MDT_IDX=1
+               do_node $CLIENT1 $LFS mkdir -i $MDT_IDX $DIR/$tfile-remote_dir
+               pre=$(get_version $CLIENT1 $DIR)
+               do_node $CLIENT1 rmdir $DIR/$tfile-remote_dir
+               post=$(get_version $CLIENT1 $DIR)
+               if (($pre != $post)); then
+                       error "version was changed: pre $pre, post $post"
+               fi
+       fi
 }
 run_test 3a "unlink doesn't change version of parent"
 
@@ -267,7 +299,7 @@ test_3b() { # former test_0g
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if do_node $CLIENT1 $CHECKSTAT -a $DIR/$tdir/$tfile; then
-        error "unlink succeeded unexpectedly"
+               error_and_remount "unlink succeeded unexpectedly"
     fi
 }
 run_test 3b "unlink checks version of parent"
@@ -320,7 +352,7 @@ test_4c() { # former test_0j
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -u \\\#$UID $file; then
-        error "setattr of UID succeeded unexpectedly"
+               error_and_remount "setattr of UID succeeded unexpectedly"
     fi
 }
 run_test 4c "setattr of UID checks versions"
@@ -343,7 +375,7 @@ test_4d() { # former test_0k
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -g \\\#$UID $file; then
-        error "setattr of GID succeeded unexpectedly"
+               error_and_remount "setattr of GID succeeded unexpectedly"
     fi
 }
 run_test 4d "setattr of GID checks versions"
@@ -381,7 +413,7 @@ test_4f() { # former test_0m
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -p 0644 $file; then
-        error "setattr of permission succeeded unexpectedly"
+               error_and_remount "setattr of permission succeeded unexpectedly"
     fi
 }
 run_test 4f "setattr of permission checks versions"
@@ -510,7 +542,7 @@ test_4k() { # former test_0r
         error "time not changed: pre $mtime_pre, post $mtime_post"
     fi
     if ! do_node $CLIENT1 $CHECKSTAT -s 1 $file; then
-        error "setattr of size failed"
+               error_and_remount "setattr of size failed"
     fi
     mtime=$(do_node $CLIENT1 stat --format=%Y $file)
     if (($mtime != $mtime_post)); then
@@ -559,7 +591,7 @@ test_5b() { # former test_0t
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -a $DIR/$tdir/$tfile; then
-        error "link should fail"
+               error_and_remount "link should fail"
     fi
 }
 run_test 5b "link checks version of target parent"
@@ -582,7 +614,7 @@ test_5c() { # former test_0u
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if ! do_node $CLIENT1 $CHECKSTAT -a $DIR/$tdir/$tfile; then
-        error "link should fail"
+               error_and_remount "link should fail"
     fi
 }
 run_test 5c "link checks version of source"
@@ -641,7 +673,7 @@ test_6c() { # former test_0x
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if do_node $CLIENT1 $CHECKSTAT -a $DIR/$tfile; then
-        error "rename should fail"
+               error_and_remount "rename should fail"
     fi
 }
 run_test 6c "rename checks version of source parent"
@@ -664,7 +696,7 @@ test_6d() { # former test_0y
 
     client_evicted $CLIENT1 || error "$CLIENT1 not evicted"
     if do_node $CLIENT1 $CHECKSTAT -a $DIR/$tfile; then
-        error "rename should fail"
+               error_and_remount "rename should fail"
     fi
 }
 run_test 6d "rename checks version of target parent"
@@ -701,11 +733,11 @@ test_7_cycle() {
     # should fail as conflict expected
     client_evicted $CLIENT1 || rc=1
 
-    wait_recovery_complete $SINGLEMDS
-    wait_mds_ost_sync $SINGLEMDS
+       wait_recovery_complete $SINGLEMDS
+       wait_mds_ost_sync || error "wait_mds_ost_sync failed"
 
-    rm -rf $DIR/$tdir
-    return $rc
+       rm -rf $DIR/$tdir
+       return $rc
 }
 
 test_7a() {
@@ -861,7 +893,14 @@ test_7g() {
     first="createmany -o $DIR/$tdir/$tfile- 1; mv $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile"
     lost="createmany -o $MOUNT2/$tdir/$tfile- 1"
     last="link $DIR/$tdir/$tfile-0 $DIR/$tdir/$tfile-1"
-    test_7_cycle "$first" "$lost" "$last" || error "Test 7g.3 failed"
+       if [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.5.1) ]
+       then
+               test_7_cycle "$first" "$lost" "$last" ||
+                       error "Test 7g.3 failed"
+       else #LU-4442 LU-3528
+               test_7_cycle "$first" "$lost" "$last" &&
+                       error "Test 7g.3 failed"
+       fi
     return 0
 }
 run_test 7g "rename, {lost}, create"
@@ -1150,6 +1189,6 @@ rm -f $cos_param_file
 
 [ "$CLIENTS" ] && zconf_mount_clients $CLIENTS $DIR
 
-complete $(basename $0) $SECONDS
+complete $SECONDS
 check_and_cleanup_lustre
 exit_status