diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 654745544c6bb99246cda2201e5f5e23fb8c76a4..879adf45641540410e0bad9007ba6713abff933e 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1421,8 +1421,7 @@ run_one() { cd $SAVE_PWD reset_fail_loc check_grant ${testnum} || error "check_grant $testnum failed with $?" - [ -f $CATASTROPHE ] && [ `cat $CATASTROPHE` -ne 0 ] && \ - error "LBUG/LASSERT detected" + check_catastrophe || error "LBUG/LASSERT detected" ps auxww | grep -v grep | grep -q multiop && error "multiop still running" pass "($((`date +%s` - $BEFORE))s)" unset TESTNAME @@ -1547,6 +1546,12 @@ nodes_list () { echo $myNODES_sort } +remote_nodes_list () { + local rnodes=$(nodes_list) + rnodes=$(echo " $rnodes " | sed -re "s/\s+$HOSTNAME\s+/ /g") + echo $rnodes +} + init_clients_lists () { # Sanity check: exclude the local client from RCLIENTS local rclients=$(echo " $RCLIENTS " | sed -re "s/\s+$HOSTNAME\s+/ /g") @@ -1707,3 +1712,12 @@ restore_lustre_params() { done } +check_catastrophe () { + local rnodes=$(comma_list $(remote_nodes_list)) + + [ -f $CATASTROPHE ] && [ `cat $CATASTROPHE` -ne 0 ] && return 1 + if [ $rnodes ]; then + do_nodes $rnodes "[ -f $CATASTROPHE ] && { [ `cat $CATASTROPHE` -eq 0 ] || false; } || true" + fi +} +