Subject: Inconsistent specification of a file-system's device

From: Damien Cassou <[email-masked]>
Date: Sat, 07 Mar 2020 10:05:40 +0100

Hi,

the manual says that file system labels should be specified with the
file-system-label procedure like this:

    (file-system
      (mount-point "/home")
      (type "ext4")
      (device (file-system-label "my-home")))

Nevertheless, system-qemu-image seems to expect only strings:

    (define* (system-qemu-image os
                                #:key
                                (file-system-type "ext4")
                                (disk-image-size (* 900 (expt 2 20))))
      (define file-systems-to-keep
        ;; Keep only file systems other than root and not normally bound to real
        ;; devices.
        (remove (lambda (fs)
                  (let ((target (file-system-mount-point fs))
                        (source (file-system-device fs)))
                    (or (string=? target "/")
                        (string-prefix? "/dev/" source))))
                (operating-system-file-systems os)))

The code above stores the result of file-system-device to the source
variable and then expects it to be a string.

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill