diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh index 56646187f9ec59e474c725529d11052fff5e58ac..6a40f339087ed01cad798d07f2ae5140da71cd55 100755 --- a/lustre/tests/replay-single.sh +++ b/lustre/tests/replay-single.sh @@ -1361,19 +1361,29 @@ run_test 62 "don't mis-drop resent replay" #Adaptive Timeouts (bug 3055) AT_MAX_SET=0 +# Suppose that all osts have the same at_max +for facet in mds client ost; do + eval AT_MAX_SAVE_${facet}=$(at_max_get $facet) +done at_start() { + local at_max_new=600 if ! at_is_valid; then skip "AT env is invalid" return 1 fi - if ! at_is_enabled; then - echo "AT is disabled, enable it by force temporarily" - at_max_set 600 mds ost client - AT_MAX_SET=1 - fi + local at_max + + for facet in mds client ost; do + at_max=$(at_max_get $facet) + if [ $at_max -ne $at_max_new ]; then + echo "AT value on $facet is $at_max, set it by force temporarily to $at_max_new" + at_max_set $at_max_new $facet + AT_MAX_SET=1 + fi + done if [ -z "$ATOLDBASE" ]; then local at_history=$(do_facet mds "find /sys/ -name at_history") @@ -1552,8 +1562,15 @@ if [ -n "$ATOLDBASE" ]; then fi if [ $AT_MAX_SET -ne 0 ]; then - echo "restore AT status to be disabled" - at_max_set 0 mds ost client + for facet in mds client ost; do + var=AT_MAX_SAVE_${facet} + echo restore AT on $facet to saved value ${!var} + at_max_set ${!var} $facet + AT_NEW=$(at_max_get $facet) + echo Restored AT value on $facet $AT_NEW + [ $AT_NEW -ne ${!var} ] && \ + error "$facet : AT value was not restored SAVED ${!var} NEW $AT_NEW" + done fi # end of AT tests includes above lines diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 208d4b924cf13d55f018f816870030a903501ce8..6fde9252bd8c750e8b9907592ca20c52b69dede8 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1071,9 +1071,16 @@ at_is_enabled() { } at_max_get() { + local facet=$1 + at_is_valid || error "invalid call" - do_facet $1 "cat $AT_MAX_PATH" + # suppose that all ost-s has the same at_max set + if [ $facet == "ost" ]; then + do_facet ost1 "cat $AT_MAX_PATH" + else + do_facet $facet "cat $AT_MAX_PATH" + fi } at_max_set() { @@ -1082,6 +1089,7 @@ at_max_set() { at_is_valid || error "invalid call" + local facet for facet in $@; do if [ $facet == "ost" ]; then for i in `seq $OSTCOUNT`; do