file-systems: The 'device' field can be a UUID (bytevector).

Previously a wrong-type-arg error would be raised when a file system
with a UUID (bytevector) field was encountered.

* gnu/system.scm (other-file-system-services)[device-mappings]: Check
whether FS's device is a string.
This commit is contained in:
Ludovic Courtès 2015-12-22 00:29:43 +01:00
parent be21979d85
commit ab64483f64
1 changed files with 8 additions and 5 deletions

View File

@ -192,11 +192,14 @@ as 'needed-for-boot'."
(operating-system-file-systems os))) (operating-system-file-systems os)))
(define (device-mappings fs) (define (device-mappings fs)
(filter (lambda (md) (let ((device (file-system-device fs)))
(string=? (string-append "/dev/mapper/" (if (string? device)
(mapped-device-target md)) (filter (lambda (md)
(file-system-device fs))) (string=? (string-append "/dev/mapper/"
(operating-system-mapped-devices os))) (mapped-device-target md))
device))
(operating-system-mapped-devices os))
'())))
(define (add-dependencies fs) (define (add-dependencies fs)
;; Add the dependencies due to device mappings to FS. ;; Add the dependencies due to device mappings to FS.