Whamcloud - gitweb
b=16716
authorgrev <grev>
Fri, 29 Aug 2008 12:44:45 +0000 (12:44 +0000)
committergrev <grev>
Fri, 29 Aug 2008 12:44:45 +0000 (12:44 +0000)
i=Nathan.Rutman
restore the original at_max on all nodes

lustre/tests/replay-single.sh
lustre/tests/test-framework.sh

index 80efc4b..0ee4936 100755 (executable)
@@ -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
index f8f234d..b692fe5 100644 (file)
@@ -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