diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh index 80efc4ba125e30aa816c9ff00cdcdbca200b2feb..0ee493670ebd95988aea524cbcf245d77157136c 100755 --- a/lustre/tests/replay-single.sh +++ b/lustre/tests/replay-single.sh @@ -1462,19 +1462,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") @@ -1654,8 +1664,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 f8f234d8d907658a1f75b7b225523ad0f7f9741f..b692fe5518de518fbac5613a56db398d61673dc1 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1295,9 +1295,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() { @@ -1306,6 +1313,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