|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# We depend on dm_mod being loaded
|
|
|
|
[ "$1" = "-d" ] && echo dm
|
|
|
|
|
|
|
|
# No point trying to support lvm if the binaries are missing
|
|
|
|
which lvm >/dev/null 2>&1 || exit 1
|
|
|
|
|
|
|
|
. $dracutfunctions
|
|
|
|
[[ $debug ]] && set -x
|
|
|
|
|
|
|
|
is_lvm() { [[ $(get_fs_type /dev/block/$1) = LVM2_member ]]; }
|
|
|
|
|
|
|
|
[[ $1 = '-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_lvm "$rootdev" || exit 1
|
|
|
|
else
|
|
|
|
# root is not on a block device, use the shotgun approach
|
|
|
|
blkid | grep -q LVM2_member || exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
exit 0
|