Subject: bug#37977: Mount options ignored for root file system

From: Ludovic Courtès <[email-masked]>
Date: Sun, 17 Nov 2019 11:43:39 +0100

Hi Guillaume,

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

> Guillaume Le Vaillant skribis:
>
>> The filesystem options declared for the root file system are apparently
>> ignored. This happens for a btrfs root filesystem on a LUKS volume.
>
> This also happens on a basic btrfs root file system (without LUKS).
>
> I tried adding "rootflags=defaults,autodefrag,compress=lzo" in kernel
> arguments, but it didn't have any effect.

[...]

> I saw that the 'start' function of 'root-file-system-service-type'
> doesn't do anything. Is it on purpose? Or could we make it remount the
> root filesystem?

By definition, when shepherd is started, the root file system is already
mounted; that’s why the ‘start’ method of the ‘root-file-system-service’
does nothing.

The root file system is mounted by ‘mount-root-file-system’ in
linux-boot.scm, and you’re right: it happily ignores any options in the
<file-system> object for “/”.  :-)

A solution would be to have ‘boot-system’ take an additional
#:root-file-system-options parameter that it would pass down to
‘mount-root-file-system’, which would honor it.

Would you like to give it a try?

Thanks,
Ludo’.