From 873bda089bd05adbe74ad17cae063ee4bcbe25de Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Fri, 22 Sep 2017 00:41:47 +0200 Subject: [PATCH] fix booting from btrfs on multiple devices https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices: > btrfs device scan is used to scan all of the block devices under /dev > and probe for Btrfs volumes. This is required after loading the btrfs > module if you're running with more than one device in a filesystem. See http://bugs.alpinelinux.org/issues/6903 --- Makefile | 1 + features.d/btrfs.files | 1 + initramfs-init.in | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 features.d/btrfs.files diff --git a/Makefile b/Makefile index 01a678b..6545557 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ CONF_FILES := mkinitfs.conf \ features.d/base.files \ features.d/base.modules \ features.d/bootchart.files \ + features.d/btrfs.files \ features.d/btrfs.modules \ features.d/cdrom.modules \ features.d/cramfs.modules \ diff --git a/features.d/btrfs.files b/features.d/btrfs.files new file mode 100644 index 0000000..3729b89 --- /dev/null +++ b/features.d/btrfs.files @@ -0,0 +1 @@ +/sbin/btrfs diff --git a/initramfs-init.in b/initramfs-init.in index be7b1c3..f3a3ee5 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -388,6 +388,10 @@ if [ -n "$KOPT_root" ]; then nlplug-findfs $cryptopts -p /sbin/mdev ${KOPT_debug_init:+-d} \ $KOPT_root + if echo "$KOPT_modules $KOPT_rootfstype" | grep -qw btrfs; then + /sbin/btrfs device scan || echo "Failed to scan devices for btrfs filesystem." + fi + if [ -n "$KOPT_resume" ]; then echo "Resume from disk" if [ -e /sys/power/resume ]; then -- 2.10.1 (Apple Git-78)