X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre-iokit%2Fobdfilter-survey%2Flibecho;h=e12c853c8c65bdb7e6a652bd7d9bc2cf8190ad9b;hb=f6d84d790c63bc200f8f25ac40b3f72321f62190;hp=9bca4b899af685481893b5dfe11d561e5e70286a;hpb=001bef3fa9e0d5cf56771de20ae48e96bea0852f;p=fs%2Flustre-release.git diff --git a/lustre-iokit/obdfilter-survey/libecho b/lustre-iokit/obdfilter-survey/libecho index 9bca4b8..e12c853 100644 --- a/lustre-iokit/obdfilter-survey/libecho +++ b/lustre-iokit/obdfilter-survey/libecho @@ -1,19 +1,36 @@ #!/bin/bash -#* Copyright (C) 2002 Cluster File Systems, Inc. -#* Author: Jitendra Pawar -#* -#* Lustre-iokit is free software; you can redistribute it and/or -#* modify it under the terms of version 2 of the GNU General Public -#* License as published by the Free Software Foundation. -#* -#* Lustre-iokit is distributed in the hope that it will be useful, -#* but WITHOUT ANY WARRANTY; without even the implied warranty of -#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#* GNU General Public License for more details. -#* -#* You should have received a copy of the GNU General Public License -#* along with Lustre; if not, write to the Free Software -#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# GPL HEADER START +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 only, +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License version 2 for more details (a copy is included +# in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU General Public License +# version 2 along with this program; If not, see +# http://www.sun.com/software/products/lustre/docs/GPLv2.pdf +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# +# GPL HEADER END +# +# Copyright 2008 Sun Microsystems, Inc. All rights reserved +# Use is subject to license terms. +# +# This file is part of Lustre, http://www.lustre.org/ +# Lustre is a trademark of Sun Microsystems, Inc. +# +# Author: Jitendra Pawar + # binaries lsmod="/sbin/lsmod" @@ -22,6 +39,7 @@ insmod="/sbin/insmod" rmmod="/sbin/rmmod" declare -a ost_names +declare -a client_names declare -a host_list declare -a dev_list declare -a unique_hosts @@ -31,6 +49,7 @@ declare -a do_unload_echo DSH=${DSH:-"ssh"} +NETTYPE=${NETTYPE:-tcp} dsh () { local node="$1" @@ -38,9 +57,7 @@ dsh () { shift 2 local command="$@" - local here=$(pwd) - - command="cd $here; export PATH=/sbin:/usr/sbin:\$PATH; $command" + command="export PATH=/sbin:/usr/sbin:\$PATH; $command" case $DSH in ssh) @@ -155,10 +172,44 @@ get_devnos () { return 0 } +# do cleanup for netdisk case. +cleanup_netdisk () { + for osc in $@; do + $lctl <&1 1>&2 local host=$1 local client_name="$2" local ost_name="$3" if [ -z "$client_name" ]; then if [ -z "$ost_name" ]; then - echo "client and ost name both null" 1>&2 - return + echo "client and ost name both null" + exit 1 fi - client_name=${ost_name}_echo_client + client_name=${ost_name}_ecc fi ec=`get_devno $host echo_client $client_name` if [ -n "$ec" ]; then - echo $ec $client_name $client_name - return + 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: $client_name, host: $host" 1>&2 - return + echo "no echo client and ost_name not set, client:" \ + "$client_name, host: $host" + exit 1 fi ost=`get_devno $host obdfilter $ost_name` if [ -z "$ost" ]; then - echo "OST $ost_name not setup" 1>&2 - return + echo "OST $ost_name not setup" + exit 1 fi + client_name=${ost_name}_ecc remote_shell $host "$lctl <&2 - return + echo "Can't setup echo-client" + exit 1 fi - echo $ec $client_name 1 + echo $ec $client_name 1 >&8 + exit 0 } # Create echo-clients using osc_names and osc_uuid # It creates echoclients for all osc listed using #lctl device_list command ec_using_osc () { local osc_name=$1 - local osc_uuid=$2 $lctl </dev/null 2>&1 + $lctl add_uuid echo_UUID $server_nid@$NETTYPE >/dev/null 2>&1 $lctl </dev/null 2>&1 + $lctl <