linux-initrd: Gracefully deal with partitions with no label.

* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
  'ext2-superblock-volume-name' returns #f, and return #f if it does.
This commit is contained in:
Ludovic Courtès 2014-05-31 15:55:38 +02:00
parent b0e3635e0a
commit 1bb784ea05

View file

@ -180,8 +180,9 @@ (define (partition-label-predicate label)
(let* ((device (string-append "/dev/" part)) (let* ((device (string-append "/dev/" part))
(sblock (read-ext2-superblock device))) (sblock (read-ext2-superblock device)))
(and sblock (and sblock
(string=? (ext2-superblock-volume-name sblock) (let ((volume (ext2-superblock-volume-name sblock)))
label))))) (and volume
(string=? volume label)))))))
(define (find-partition-by-label label) (define (find-partition-by-label label)
"Return the first partition found whose volume name is LABEL, or #f if none "Return the first partition found whose volume name is LABEL, or #f if none