OpenZFS 7629 - Fix for 7290 neglected to remove some escape sequences

Authored by: John Wren Kennedy <john.kennedy@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>

Porting Notes:
- Multiple changes in this commit were applied in c1d9abf.

OpenZFS-issue: https://www.illumos.org/issues/7629
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/f5fb56d
Closes #5980
This commit is contained in:
Brian Behlendorf 2017-04-07 09:30:05 -07:00 committed by GitHub
parent 7469863167
commit 10f251191f
3 changed files with 3 additions and 133 deletions

View File

@ -2050,136 +2050,6 @@ function cleanup_devices #vdevs
return 0
}
#
# Verify the rsh connectivity to each remote host in RHOSTS.
#
# Return 0 if remote host is accessible; otherwise 1.
# $1 remote host name
# $2 username
#
function verify_rsh_connect #rhost, username
{
typeset rhost=$1
typeset username=$2
typeset rsh_cmd="rsh -n"
typeset cur_user=
getent hosts $rhost >/dev/null 2>&1
if (($? != 0)); then
log_note "$rhost cannot be found from" \
"administrative database."
return 1
fi
ping $rhost 3 >/dev/null 2>&1
if (($? != 0)); then
log_note "$rhost is not reachable."
return 1
fi
if ((${#username} != 0)); then
rsh_cmd="$rsh_cmd -l $username"
cur_user="given user \"$username\""
else
cur_user="current user \"`logname`\""
fi
if ! $rsh_cmd $rhost true; then
log_note "rsh to $rhost is not accessible" \
"with $cur_user."
return 1
fi
return 0
}
#
# Verify the remote host connection via rsh after rebooting
# $1 remote host
#
function verify_remote
{
rhost=$1
#
# The following loop waits for the remote system rebooting.
# Each iteration will wait for 150 seconds. there are
# total 5 iterations, so the total timeout value will
# be 12.5 minutes for the system rebooting. This number
# is an approxiate number.
#
typeset -i count=0
while ! verify_rsh_connect $rhost; do
sleep 150
((count = count + 1))
if ((count > 5)); then
return 1
fi
done
return 0
}
#
# Replacement function for /usr/bin/rsh. This function will include
# the /usr/bin/rsh and meanwhile return the execution status of the
# last command.
#
# $1 usrname passing down to -l option of /usr/bin/rsh
# $2 remote machine hostname
# $3... command string
#
function rsh_status
{
typeset ruser=$1
typeset rhost=$2
typeset -i ret=0
typeset cmd_str=""
typeset rsh_str=""
shift; shift
cmd_str="$@"
err_file=/tmp/${rhost}.$$.err
if ((${#ruser} == 0)); then
rsh_str="rsh -n"
else
rsh_str="rsh -n -l $ruser"
fi
$rsh_str $rhost /bin/ksh -c "'$cmd_str; \
print -u 2 \"status=\$?\"'" \
>/dev/null 2>$err_file
ret=$?
if (($ret != 0)); then
cat $err_file
rm -f $std_file $err_file
log_fail "rsh itself failed with exit code $ret..."
fi
ret=$(grep -v 'print -u 2' $err_file | grep 'status=' | \
cut -d= -f2)
(($ret != 0)) && cat $err_file >&2
rm -f $err_file >/dev/null 2>&1
return $ret
}
#
# Get the SUNWstc-fs-zfs package installation path in a remote host
# $1 remote host name
#
function get_remote_pkgpath
{
typeset rhost=$1
typeset pkgpath=""
pkgpath=$(rsh -n $rhost "pkginfo -l SUNWstc-fs-zfs | grep BASEDIR: |\
cut -d: -f2")
echo $pkgpath
}
#/**
# A function to find and locate free disks on a system or from given
# disks as the parameter. It works by locating disks that are in use

View File

@ -125,7 +125,7 @@ function setup_snap_env
# to disk before taking a snapshot.
#
if [[ $dtst == $VOL ]]; then
log_must $LOCKFS -f $TESTDIR1
log_must lockfs -f $TESTDIR1
fi
fi
log_must zfs snapshot $snap

View File

@ -57,11 +57,11 @@ do
(( i = i + 1 ))
done
\sleep 1
sleep 1
for pid in \$PIDS
do
\wait \$pid
wait \$pid
(( \$? == 127 )) && exit 1
done
exit 0