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

Reply via email to