This patch adds in some extra hackery to make sure that users with btrfs root 
filesystems don't end up with unusable initrds due to the following change made 
upstream [1]. TL;DR: The btrfs module has dropped it's libcrc32c dependency, so 
mkinitcpio no longer pulls in the crc32c module necessary for the btrfs module 
to be inserted. The crc32c module was only pulled in previously due to 
mkinitcpio hackery [2], so extra hackery now seems like the logical path.

This problem can be experienced by using linux-mainline on an Arch machine with 
a btrfs root filesystem. Besides from this extra hackery, an alternative 
workaround would be for users in this situation to add crc32c to their MODULES 
aray in their mkintcpio.conf. Of course, this needs to be done ahead of the 
linux-3.14 upgrade for them to avoid the problem (assuming none of their other 
modules depend on libcrc32c).

[1] http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg30912.html
[2] https://projects.archlinux.org/mkinitcpio.git/tree/functions?id=v16#n398
---
 functions | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/functions b/functions
index 33bd28d..fc9e96b 100644
--- a/functions
+++ b/functions
@@ -406,6 +406,10 @@ add_module() {
             add_module "crc32c_intel?"
             add_module "crc32c?"
             ;;
+        btrfs)
+            add_module "crc32c_intel?"
+            add_module "crc32c?"
+            ;;
     esac
 }
 
-- 
1.9.0

Reply via email to