Whamcloud - gitweb
LU-10893 tests: allow to disable dm-flakey layer
[fs/lustre-release.git] / lustre / tests / test-framework.sh
index b6c26bb..73994c5 100755 (executable)
@@ -24,6 +24,7 @@ export SK_S2SNM=${SK_S2SNM:-TestFrameNM}
 export SK_S2SNMCLI=${SK_S2SNMCLI:-TestFrameNMCli}
 export IDENTITY_UPCALL=default
 export QUOTA_AUTO=1
+export FLAKEY=${FLAKEY:-true}
 # specify environment variable containing batch job name for server statistics
 export JOBID_VAR=${JOBID_VAR:-"procname_uid"}  # or "existing" or "disable"
 
@@ -1582,6 +1583,7 @@ is_dm_flakey_dev() {
 dm_flakey_supported() {
        local facet=$1
 
+       $FLAKEY || return 1
        do_facet $facet "modprobe dm-flakey;
                         $DMSETUP targets | grep -q flakey" &> /dev/null
 }
@@ -3379,7 +3381,9 @@ fail() {
        local clients=${CLIENTS:-$HOSTNAME}
 
        facet_failover $* || error "failover: $?"
-       wait_clients_import_state "$clients" "$facets" FULL
+       # to initiate all OSC idling connections
+       clients_up
+       wait_clients_import_state "$clients" "$facets" "\(FULL\|IDLE\)"
        clients_up || error "post-failover stat: $?"
 }
 
@@ -6116,6 +6120,7 @@ check_grant() {
 
        # sync all the data and make sure no pending data on server
        do_nodes $clients sync
+       clients_up # initiate all idling connections
 
        # get client grant
        client_grant=$(do_nodes $clients \
@@ -6690,7 +6695,7 @@ calc_sum () {
 }
 
 calc_osc_kbytes () {
-       df $MOUNT > /dev/null
+       $LFS df $MOUNT > /dev/null
        $LCTL get_param -n osc.*[oO][sS][cC][-_][0-9a-f]*.$1 | calc_sum
 }
 
@@ -6828,7 +6833,7 @@ _wait_import_state () {
     local i=0
 
        CONN_STATE=$($LCTL get_param -n $CONN_PROC 2>/dev/null | cut -f2 | uniq)
-    while [ "${CONN_STATE}" != "${expected}" ]; do
+    while ! echo "${CONN_STATE}" | egrep -q "^${expected}\$" ; do
         if [ "${expected}" == "DISCONN" ]; then
             # for disconn we can check after proc entry is removed
             [ "x${CONN_STATE}" == "x" ] && return 0
@@ -6973,6 +6978,10 @@ wait_osc_import_state() {
        fi
 }
 
+wait_osc_import_ready() {
+       wait_osc_import_state $1 $2 "\(FULL\|IDLE\)"
+}
+
 _wait_mgc_import_state() {
        local facet=$1
        local expected=$2
@@ -7035,7 +7044,7 @@ wait_dne_interconnect() {
 
        if [ $MDSCOUNT -gt 1 ]; then
                for num in $(seq $MDSCOUNT); do
-                       wait_osc_import_state mds mds$num FULL
+                       wait_osc_import_ready mds mds$num
                done
        fi
 }
@@ -7088,7 +7097,7 @@ wait_clients_import_state () {
                local params=$(expand_list $params $proc_path)
        done
 
-       if ! do_rpc_nodes "$list" wait_import_state_mount $expected $params;
+       if ! do_rpc_nodes "$list" wait_import_state_mount "$expected" $params;
        then
                error "import is not in ${expected} state"
                return 1
@@ -8951,8 +8960,12 @@ changelog_register() {
        for M in $(seq $MDSCOUNT); do
                local facet=mds$M
                local mdt="$(facet_svc $facet)"
+               local cl_mask
+
+               cl_mask=$(do_facet $facet $LCTL get_param \
+                            mdd.${mdt}.changelog_mask -n)
                stack_trap "do_facet $facet $LCTL \
-                       set_param mdd.$mdt.changelog_mask=-hsm" EXIT
+                       set_param mdd.$mdt.changelog_mask=\'$cl_mask\' -n" EXIT
                do_facet $facet $LCTL set_param mdd.$mdt.changelog_mask=+hsm ||
                        error "$mdt: changelog_mask=+hsm failed: $?"
 
@@ -9145,6 +9158,12 @@ changelog2array()
                ef)
                        key=extra-flags
                        ;;
+               m)
+                       key=mode
+                       ;;
+               x)
+                       key=xattr
+                       ;;
                *)
                        ;;
                esac