Subject: Re: bug#38435: BTRFS open_ctree failed

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 01 Feb 2021 14:16:10 -0500

Hello,

Guillaume Le Vaillant <[email-masked]> writes:

[...]

>>> >   (file-systems (cons* (file-system
>>> >                          (device (file-system-label "GUIX"))
>>> >                          (mount-point "/")
>>> > 			 (options "lazytime,compress")
>>> >                          (type "btrfs"))
>>> >                        ;(file-system
>>> >                        ;  (device (uuid "1234-ABCD" 'fat))
>>> >                        ;  (mount-point "/boot/efi")
>>> >                        ;  (type "vfat"))
>>> >                        %base-file-systems))
>>> >  
>>> 
>>> I just tried adding the 'lazytime' option to my root file system, and
>>> I got the same error as you when booting. Could you try removing it
>>> and see if it works?
>>> 
>>> Until recently, the options declared in 'file-system' records were
>>> always ignored when mounting the root file system. Now they are taken
>>> into consideration, and I think it reveals a bug in the way file
>>> systems are mounted. If some options like 'lazytime' or 'defaults'
>>> are declared in a 'file-system' record (root file system or not),
>>> mounting it fails. However some other options like 'compress' or
>>> 'autodefrag' work fine.
>>> 
>>> I suspect Guix adds some options by default when trying to mount file
>>> systems, and maybe we end up with conflicting options or doubled
>>> options that cause problems.
>>> 
>>> 
>>> 
>>
>> I removed it and ran reconfigure and now it works.
>
> Applying patches #38462 and #38468 and changing the file system
> definition to the following should allow you to mount the root file
> system with the 'lazytime' option:
>
> (file-system
>   (device (file-system-label "GUIX"))
>   (mount-point "/")
>   (flags '(lazy-time))
>   (options "compress")
>   (type "btrfs"))

I see these earlier patches of yours got merged already and the original
issue addressed.

Thank you!

Closing.

Maxim