X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre-iokit%2Fobdfilter-survey%2Flibecho;h=9a4e8c4b0c8f4486664fc257e68890cd37168526;hb=fc7e0f430a175e258af128e01945b95180fd9c66;hp=23aa2b851937e5c2d3be58500066b2c9a53d3b31;hpb=664d20fd5a30d2100a52cca0e0b5fa1a1cec8aa4;p=fs%2Flustre-release.git diff --git a/lustre-iokit/obdfilter-survey/libecho b/lustre-iokit/obdfilter-survey/libecho index 23aa2b8..9a4e8c4 100644 --- a/lustre-iokit/obdfilter-survey/libecho +++ b/lustre-iokit/obdfilter-survey/libecho @@ -26,6 +26,8 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved # Use is subject to license terms. # +# Copyright (c) 2012, Whamcloud, Inc. +# # This file is part of Lustre, http://www.lustre.org/ # Lustre is a trademark of Sun Microsystems, Inc. # @@ -143,10 +145,10 @@ unload_obdecho () { } # returns the device number which is displayed in "lctl device_list" -# +# # parameter: 1. hostname -# 2. type of device ex: echo_client -# 3. name of device ex: ECHO_matrix.linsyssoft.com +# 2. type of device ex: echo_client +# 3. name of device ex: ECHO_matrix.linsyssoft.com get_devno () { local host=$1 local type=$2 @@ -175,63 +177,68 @@ get_devnos () { # do cleanup for netdisk case. cleanup_netdisk () { for osc in $@; do - $lctl </dev/null 2>&1" & pid=$! kill -term ${vmstatpids[$pidcount]} 2>/dev/null kill -kill ${vmstatpids[$pidcount]} 2>/dev/null wait $pid pidcount=$((pidcount+1)) - if ((${do_unload_obdecho[$host]})); then - unload_obdecho $host + if ((${do_unload_echo[$i]})); then + unload_obdecho $i fi done if [ $case == "network" ]; then - cleanup_network $1 + cleanup_network $1 fi if [ $case == "netdisk" ]; then - shift + shift cleanup_netdisk $@ fi if [ $exit_status ]; then @@ -252,44 +259,48 @@ trap 'cleanup 0 $clean_srv_OSS $cleanup_oscs' SIGHUP SIGINT SIGTERM # This must run in a subshell. # # parameter: 1. hostname -# 2. client name, ex:- ns8:ECHO_ns8 -# 3. name of ost instances, ex:- lustre-OST0001 +# 2. client name, ex:- ns8:ECHO_ns8 +# 3. name of ost instances, ex:- lustre-OST0001 get_ec_devno () { exec 8>&1 1>&2 local host=$1 local client_name="$2" local ost_name="$3" + local dev_type="${4:-obdfilter}" + local stack_type="${5:-}" + if [ -z "$client_name" ]; then - if [ -z "$ost_name" ]; then - echo "client and ost name both null" - exit 1 - fi + if [ -z "$ost_name" ]; then + echo "client and ost name both null" + exit 1 + fi client_name=${ost_name}_ecc fi ec=`get_devno $host echo_client $client_name` if [ -n "$ec" ]; then - echo $ec $client_name $client_name >&8 - exit 0 + echo $ec $client_name $client_name >&8 + exit 0 fi if [ -z "$ost_name" ]; then - echo "no echo client and ost_name not set, client:" \ + echo "no echo client and ost_name not set, client:" \ "$client_name, host: $host" - exit 1 + exit 1 fi - ost=`get_devno $host obdfilter $ost_name` + ost=`get_devno $host $dev_type $ost_name` if [ -z "$ost" ]; then - echo "OST $ost_name not setup" - exit 1 + echo "OST $ost_name not setup" + exit 1 fi client_name=${ost_name}_ecc - remote_shell $host "$lctl <&8 exit 0 @@ -299,11 +310,11 @@ EOF" # It creates echoclients for all osc listed using #lctl device_list command ec_using_osc () { local osc_name=$1 - $lctl </dev/null 2>&1 - $lctl </dev/null 2>&1 - $lctl <