GNU bug report logs -
#31889
Filesystems must not depend on device mappings?
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 21 Jun 2018 23:55:27 +0200
with message-id <87h8lv6bzk.fsf <at> gnu.org>
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
help-debbugs <at> gnu.org.)
--
31889: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31889
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
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
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
Hi,
Taylan Kammer <taylanbayirli <at> gmail.com> 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’.
This bug report was last modified 7 years and 52 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.