From 2384ab8ea1e7b9e1cef7cf7c9adeaf2e7be39a44 Mon Sep 17 00:00:00 2001 From: grev Date: Tue, 15 Sep 2009 09:27:42 +0000 Subject: [PATCH] b=17951 i=Robert.Read i=Alexey.Lyashkov test_46a: use all ost-s available --- lustre/tests/conf-sanity.sh | 50 ++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 494dfbd..2750528 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -1516,8 +1516,27 @@ test_45() { #17310 } run_test 45 "long unlink handling in ptlrpcd" +cleanup_46a() { + trap 0 + local rc=0 + local count=$1 + + umount_client $MOUNT2 || rc=$? + umount_client $MOUNT || rc=$? + while [ $count -gt 0 ]; do + stop ost${count} -f || rc=$? + let count=count-1 + done + stop_mds || rc=$? + # writeconf is needed after the test, otherwise, + # we might end up with extra OSTs + writeconf || rc=$? + cleanup_nocli || rc=$? + return $rc +} + test_46a() { - OSTCOUNT=6 + echo "Testing with $OSTCOUNT OSTs" reformat start_mds || return 1 #first client should see only one ost @@ -1525,15 +1544,18 @@ test_46a() { wait_osc_import_state mds ost FULL #start_client mount_client $MOUNT || return 3 + trap "cleanup_46a $OSTCOUNT" EXIT ERR + + local i + for (( i=2; i<=$OSTCOUNT; i++ )); do + start ost$i `ostdevname $i` $OST_MOUNT_OPTS || return $((i+2)) + done + + # wait until osts in sync + for (( i=2; i<=$OSTCOUNT; i++ )); do + wait_osc_import_state mds ost$i FULL + done - start_ost2 || return 4 - start ost3 `ostdevname 3` $OST_MOUNT_OPTS || return 5 - start ost4 `ostdevname 4` $OST_MOUNT_OPTS || return 6 - start ost5 `ostdevname 5` $OST_MOUNT_OPTS || return 7 - wait_osc_import_state mds ost2 FULL - wait_osc_import_state mds ost3 FULL - wait_osc_import_state mds ost4 FULL - wait_osc_import_state mds ost5 FULL #second client see all ost's mount_client $MOUNT2 || return 8 @@ -1550,14 +1572,8 @@ test_46a() { # will be deadlock stat $MOUNT/widestripe || return 12 - umount_client $MOUNT2 || return 13 - umount_client $MOUNT || return 14 - stop ost5 -f || return 20 - stop ost4 -f || return 21 - stop ost3 -f || return 22 - stop_ost2 || return 23 - stop_ost || return 24 - stop_mds || return 25 + cleanup_46a $OSTCOUNT || { echo "cleanup_46a failed!" && return 13; } + return 0 } run_test 46a "handle ost additional - wide striped file" -- 1.8.3.1