Browse Source
This allows hostonly nbd checking to work in more exotic situations, such as mdraid/dmraid/lvm/crypt on top of nbd.master

1 changed files with 15 additions and 6 deletions
@ -1,11 +1,20 @@
@@ -1,11 +1,20 @@
|
||||
#!/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. |
||||
# If our prerequisites are not met, fail. |
||||
which nbd-client >/dev/null 2>&1 || exit 1 |
||||
|
||||
is_nbd() { [[ -b /dev/block/$1 && $1 == 43:* ]] } |
||||
|
||||
. $dracutfunctions |
||||
|
||||
# if an nbd device is not somewhere in the chain of devices root is mounted on, |
||||
# fail the hostonly check. |
||||
[ "$1" = "-h" ] && { |
||||
rootdev=$(find_root_block_device) |
||||
[[ -b /dev/block/$rootdev ]] || exit 1 |
||||
check_block_and_slaves is_nbd "$rootdev" || exit 1 |
||||
} |
||||
|
||||
exit 0 |
||||
|
Loading…
Reference in new issue