bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#31889: Filesystems must not depend on device mappings?


From: Taylan Kammer
Subject: bug#31889: Filesystems must not depend on device mappings?
Date: Fri, 22 Jun 2018 20:21:07 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Hi,
>
> Taylan Kammer <address@hidden> skribis:
>
>>      (mapped-devices
>>       (list (mapped-device
>>              (source (uuid "b3d059f8-1c4f-4569-88dd-5485825b4373"))
>>              (target "guixsd")
>>              (type luks-device-mapping))
>>             (mapped-device
>>              (source (uuid "550d9258-bbbb-488c-af27-6b1fefa190ee"))
>>              (target "home")
>>              (type luks-device-mapping))))
>>      
>>      (file-systems
>>       (append
>>        (list (file-system
>>               (device "/dev/mapper/guixsd")
>>               (mount-point "/")
>>               (type "ext4")
>>               (dependencies mapped-devices))
>>              (file-system
>>               (device "/dev/mapper/home")
>>               (mount-point "/home")
>>               (type "ext4")
>>               (dependencies mapped-devices)))
>>        %base-file-systems))
>
> [...]
>
>> It results in the error message:
>>
>>     guix system: error: service 'file-system-/home' requires
>>     'device-mapping-home', which is not provided by any service
>
> [...]
>
>> It works when both '(dependencies mapped-devices)' clauses are simply
>> removed.
>
> Yes, it’s “expected”: using “/dev/mapper/xyz” as the device is enough to
> express the dependency.
>
> When passing (dependencies mapped-devices), the effect was to each file
> system depend on *both* mapped devices.  This leads to an inconsistency
> because /dev/mapper/guixsd is “needed-for-boot” (i.e., set up from the
> initrd), whereas /dev/mapper/home is not (i.e., set up as a Shepherd
> service.)
>
> The solution is to either use the /dev/mapper/xyz names in the ‘device’
> field, or to specify only the relevant mapped device in ‘dependencies’.
>
> Anyway, commit 68a58775e071d4b0e000b93ad121b6e64d161b79 fixes it by
> doing exactly what this config asks for: setting up all the mapped
> devices in the initrd.
>
> Thanks,
> Ludo’.

Thank you for the explanation and the fix! :-)

Taylan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]