[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