From: Harald Hoyer Date: Thu, 19 Mar 2015 11:34:20 +0000 (+0100) Subject: rootfs-block/module-setup.sh: find root btrfs subvolumes X-Git-Tag: 042~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df1e8127da1a8d8ec84f2fccd67308d970d2a0e6;p=thirdparty%2Fdracut.git rootfs-block/module-setup.sh: find root btrfs subvolumes If root is a btrfs subvolume, find it, if fstab is not used --- diff --git a/modules.d/95rootfs-block/module-setup.sh b/modules.d/95rootfs-block/module-setup.sh index 81de1773a..2b06bac23 100755 --- a/modules.d/95rootfs-block/module-setup.sh +++ b/modules.d/95rootfs-block/module-setup.sh @@ -30,11 +30,19 @@ cmdline_journal() { } cmdline_rootfs() { - local dev=/dev/block/$(find_root_block_device) - if [ -e $dev ]; then - printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$dev")")" - printf " rootflags=%s" "$(find_mp_fsopts /)" - printf " rootfstype=%s" "$(find_mp_fstype /)" + local _dev=/dev/block/$(find_root_block_device) + local _fstype _flags _subvol + if [ -e $_dev ]; then + printf " root=%s" "$(shorten_persistent_dev "$(get_persistent_dev "$_dev")")" + _fstype="$(find_mp_fstype /)" + _flags="$(find_mp_fsopts /)" + printf " rootfstype=%s" "$_fstype" + if [[ $use_fstab != yes ]] && [[ $_fstype = btrfs ]]; then + _subvol=$(findmnt -e -v -n -o FSROOT --target /) \ + && _subvol=${_subvol#/} + _flags="$_flags,${_subvol:+subvol=$_subvol}" + fi + printf " rootflags=%s" "${_flags#,}" fi }