Browse Source

Modify nbd hostonly checking to use check_block_and_slaves.

This allows hostonly nbd checking to work in more exotic situations,
such as mdraid/dmraid/lvm/crypt on top of nbd.
master
Victor Lowther 16 years ago
parent
commit
1a4c4015bc
  1. 21
      modules.d/95nbd/check

21
modules.d/95nbd/check

@ -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…
Cancel
Save