From 51c977d1ff665c16a747d54f54316886db82d6ad Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 29 Oct 2010 12:34:27 +0200 Subject: [PATCH] dracut-functions:find_block_device() workaround for btrfs /proc/self/mountinfo contains the btrfs virtual device major minor. Determine the real major minor with the device. --- dracut-functions | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dracut-functions b/dracut-functions index 7c41fe758..2232dc9a8 100755 --- a/dracut-functions +++ b/dracut-functions @@ -130,10 +130,17 @@ get_fs_uuid() ( find_block_device() { local x mpt majmin dev fs misc maj min if [[ $use_fstab != yes ]]; then - while read x x majmin x mpt x x fs misc; do + while read x x majmin x mpt x x fs dev misc; do [[ $fs = nfs ]] && { echo $dev; return 0;} [[ $fs = nfs3 ]] && { echo $dev; return 0;} [[ $fs = nfs4 ]] && { echo $dev; return 0;} + [[ $fs = btrfs ]] && { + ls -nLl "$dev" | { + read x x x x maj min x; + maj=${maj//,/}; + echo $maj:$min; + } && return 0 + } if [[ $mpt = $1 ]] && [[ ${majmin#0:} = $majmin ]]; then echo $majmin; return 0 # we have a winner! -- 2.47.3