On 3 March 2014 02:01, Dave Reisner <[email protected]> wrote:
> On Mon, Mar 03, 2014 at 01:17:29AM +0000, WorMzy Tykashi wrote:
>> 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/[email protected]/msg30912.html
>> [2] https://projects.archlinux.org/mkinitcpio.git/tree/functions?id=v16#n398
>
> well, ew.
>
Agreed. Invisible module dependencies are not fun.
>> ---
>> 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?"
>> + ;;
>
> wouldn't it be easier to just add this to the above case?
>
Ah, yeah, that'd be much better. I'll send a v2 patch in a moment.
>> esac
>> }
>>
>> --
>> 1.9.0
>>
Cheers,
WorMzy