system: Allow the root file system to have a UUID.

This is a followup to ab64483.

* gnu/system.scm (mapped-device-user): Check whether the title of FS is
'device before calling 'string=?'.
* gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]:
Likewise.
This commit is contained in:
Ludovic Courtès 2016-01-01 22:29:33 +01:00
parent daa8922abc
commit 29824d80ec
2 changed files with 7 additions and 5 deletions

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;;
@ -193,7 +193,7 @@ as 'needed-for-boot'."
(define (device-mappings fs)
(let ((device (file-system-device fs)))
(if (string? device)
(if (string? device) ;title is 'device
(filter (lambda (md)
(string=? (string-append "/dev/mapper/"
(mapped-device-target md))
@ -216,7 +216,8 @@ as 'needed-for-boot'."
"Return a file system among FILE-SYSTEMS that uses DEVICE, or #f."
(let ((target (string-append "/dev/mapper/" (mapped-device-target device))))
(find (lambda (fs)
(string=? (file-system-device fs) target))
(and (eq? 'device (file-system-title fs))
(string=? (file-system-device fs) target)))
file-systems)))
(define (operating-system-user-mapped-devices os)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -391,7 +391,8 @@ environment with the store shared with the host. MAPPINGS is a list of
(source (file-system-device fs)))
(or (string=? target (%store-prefix))
(string=? target "/")
(string-prefix? "/dev/" source))))
(and (eq? 'device (file-system-title fs))
(string-prefix? "/dev/" source)))))
(operating-system-file-systems os)))
(operating-system (inherit os)