Add accurate --hostonly checking for 95iscsi

master
Victor Lowther 2009-08-21 22:11:36 -05:00
parent fb8923f681
commit 054e038512
1 changed files with 29 additions and 5 deletions

View File

@ -1,11 +1,35 @@
#!/bin/sh
#!/bin/bash
# We depend on network modules being loaded
[ "$1" = "-d" ] && echo network

# If hostonly was requested, fail the check if we are not actually
# booting from root.
#[ "$1" = "-h" ] && ! egrep -q '/ /dev/nbd[0-9]*' /proc/mounts && exit 1

# If our prerequisites are not met, fail anyways.
which iscsistart hostname iscsi-iname >/dev/null 2>&1 || exit 1

# If hostonly was requested, fail the check if we are not actually
# booting from root.

. $dracutfunctions

[[ $debug ]] && set -x

is_iscsi() (
[[ -L /sys/dev/block/$1 ]] || return
cd "$(readlink -f /sys/dev/block/$1)"
until [[ -d sys || -d iscsi_session ]]; do
cd ..
done
[[ -d iscsi_session ]]
)

case $1 in
-h) rootdev=$(find_root_block_device)
if [[ $rootdev ]]; then
# root lives on a block device, so we can be more precise about
# hostonly checking
check_block_and_slaves is_iscsi "$rootdev" || exit 1
else
exit 1
fi ;;
esac

exit 0