From 5d59a54f6259ea5b09522d759764b68dd5b578ed Mon Sep 17 00:00:00 2001
From: grev <grev>
Date: Fri, 29 Aug 2008 12:39:55 +0000
Subject: [PATCH] b=16716 i=Nathan.Rutman restore the original at_max on all
 nodes

---
 lustre/tests/replay-single.sh | 31 ++++++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh
index 5d47011048..e9cb38987e 100755
--- a/lustre/tests/replay-single.sh
+++ b/lustre/tests/replay-single.sh
@@ -1370,19 +1370,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")
@@ -1561,8 +1571,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
-- 
GitLab