\!/ KyuuKazami \!/

Path : /usr/share/dracut/modules.d/90lvm/
Upload :
Current File : //usr/share/dracut/modules.d/90lvm/check

#!/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

@KyuuKazami