|
From: | GNU bug Tracking System |
Subject: | [debbugs-tracker] bug#31889: closed (Filesystems must not depend on device mappings?) |
Date: | Thu, 21 Jun 2018 21:56:01 +0000 |
Your message dated Thu, 21 Jun 2018 23:55:27 +0200 with message-id <address@hidden> and subject line Re: bug#31889: Filesystems must not depend on device mappings? has caused the debbugs.gnu.org bug report #31889, regarding Filesystems must not depend on device mappings? to be marked as done. (If you believe you have received this mail in error, please contact address@hidden) -- 31889: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31889 GNU Bug Tracking System Contact address@hidden with problems
--- Begin Message ---Subject: Filesystems must not depend on device mappings? Date: Mon, 18 Jun 2018 23:11:54 +0200 If in my OS config I define some luks mappings, and define the
corresponding filesystems with dependencies on the mapped devices,
I get an error on 'guix system reconfigure'.
Example:
(operating-system
...
(mapped-devices
(list (mapped-device ... (target "root"))))
(file-systems
(list (file-system (mount-point "/")
...
(dependencies mapped-devices))))
...)
This will yield an error like:
file-system-/ depends on device-mapping-root, which is not
provided by any service
Funnily enough, one only needs to remove the 'dependencies' field to
make it work. But this contradicts the example at:
https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html
Taylan
--- End Message ---
--- Begin Message ---Subject: Re: bug#31889: Filesystems must not depend on device mappings? Date: Thu, 21 Jun 2018 23:55:27 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) 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’.
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |