From: grev Date: Thu, 22 Oct 2009 15:20:20 +0000 (+0000) Subject: b=20308 X-Git-Tag: v1_8_2_01~1^2 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=03f84bbcedf4684a8d9164108e3e073bb9ee256d;p=fs%2Flustre-release.git b=20308 i=Robert.Read statahead test: N mount points on all available clients --- diff --git a/lustre/tests/parallel-scale.sh b/lustre/tests/parallel-scale.sh index ee2f2c9..bd720b1 100644 --- a/lustre/tests/parallel-scale.sh +++ b/lustre/tests/parallel-scale.sh @@ -476,17 +476,20 @@ test_parallel_grouplock() { } run_test parallel_grouplock "parallel_grouplock" - statahead_NUMMNTPTS=${statahead_NUMMNTPTS:-5} statahead_NUMFILES=${statahead_NUMFILES:-500000} cleanup_statahead () { - local mntpt_root=$1 - local num_mntpts=$2 - for i in $(seq 0 $num_mntpts);do - zconf_umount `hostname` ${mntpt_root}$i || - error_exit "Failed to umount lustre on ${mntpt_root}$i" - done + trap 0 + + local clients=$1 + local mntpt_root=$2 + local num_mntpts=$3 + + for i in $(seq 0 $num_mntpts);do + zconf_umount_clients $clients ${mntpt_root}$i || + error_exit "Failed to umount lustre on ${mntpt_root}$i" + done } test_statahead () { @@ -521,29 +524,21 @@ test_statahead () { local mntpt_root=$TMP/mntpt/lustre mntopts=${MNTOPTSTATAHEAD:-$MOUNTOPT} - echo "Mounting $num_mntpts lustre clients starts" - trap "cleanup_statahead $mntpt_root $num_mntpts" EXIT ERR + local clients=$CLIENTS + [ -z $clients ] && clients=$(hostname) + + echo "Mounting $num_mntpts lustre clients starts on $clients" + trap "cleanup_statahead $clients $mntpt_root $num_mntpts" EXIT ERR for i in $(seq 0 $num_mntpts);do - zconf_mount `hostname` ${mntpt_root}$i $mntopts || - error_exit "Failed to mount lustre on ${mntpt_root}$i" + zconf_mount_clients $clients ${mntpt_root}$i $mntopts || + error_exit "Failed to mount lustre on ${mntpt_root}$i on $clients" done - cancel_lru_locks mdc - - for i in $(seq 0 $num_mntpts); do - local cmd="ls -laf ${mntpt_root}$i/$dir" - echo "+ $cmd" - $cmd > /dev/null & - pids="$pids $!" - done + do_rpc_nodes $clients cancel_lru_locks mdc - echo pids=$pids - for pid in $pids; do - echo wait $pid - wait $pid || error "$pid" - done + do_rpc_nodes $clients do_ls $mntpt_root $num_mntpts $dir - cleanup_statahead $mntpt_root $num_mntpts + cleanup_statahead $clients $mntpt_root $num_mntpts } run_test statahead "statahead test, multiple clients" diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 487dd41..682cf82 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -562,13 +562,13 @@ sanity_mount_check () { # mount clients if not mouted zconf_mount_clients() { - local OPTIONS local clients=$1 local mnt=$2 + local OPTIONS=${3:-$MOUNTOPT} # Only supply -o to mount if we have options - if [ -n "$MOUNTOPT" ]; then - OPTIONS="-o $MOUNTOPT" + if [ "$OPTIONS" ]; then + OPTIONS="-o $OPTIONS" fi local device=$MGSNID:/$FSNAME if [ -z "$mnt" -o -z "$FSNAME" ]; then @@ -608,7 +608,7 @@ zconf_umount_clients() { echo "Stopping clients: $clients $mnt (opts:$force)" do_nodes $clients "running=\\\$(grep -c $mnt' ' /proc/mounts); if [ \\\$running -ne 0 ] ; then -echo Stopping client \\\$(hostname) client $mnt opts:$force; +echo Stopping client \\\$(hostname) $mnt opts:$force; lsof -t $mnt || need_kill=no; if [ "x$force" != "x" -a "x\\\$need_kill" != "xno" ]; then pids=\\\$(lsof -t $mnt | sort -u); @@ -2804,3 +2804,26 @@ cleanup_logs () { [ -n ${TESTSUITE} ] && do_nodes $list "rm -f $TMP/*${TESTSUITE}*" || true } +do_ls () { + local mntpt_root=$1 + local num_mntpts=$2 + local dir=$3 + local i + local cmd + local pids + local rc=0 + + for i in $(seq 0 $num_mntpts); do + cmd="ls -laf ${mntpt_root}$i/$dir" + echo + $cmd; + $cmd > /dev/null & + pids="$pids $!" + done + echo pids=$pids + for pid in $pids; do + wait $pid || rc=$? + done + + return $rc +} +