[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
08/09: file-systems: 'file-system-needed-for-boot?' always returns #t fo
From: |
Ludovic Courtès |
Subject: |
08/09: file-systems: 'file-system-needed-for-boot?' always returns #t for "/". |
Date: |
Tue, 25 Nov 2014 17:02:50 +0000 |
civodul pushed a commit to branch master
in repository guix.
commit 4d6b879cb5313c30910330763dca1f1642623c4d
Author: Ludovic Courtès <address@hidden>
Date: Tue Nov 25 16:01:21 2014 +0100
file-systems: 'file-system-needed-for-boot?' always returns #t for "/".
Reported by Nikita Karetnikov.
* gnu/system/file-systems.scm (<file-system>): Rename 'needed-for-boot?'
accessor to '%file-system-needed-for-boot?'.
(file-system-needed-for-boot?): New inlinable procedure.
* gnu/system.scm (other-file-system-services)[file-systems]: Rely on
'file-system-needed-for-boot?' to handle the "/" case.
(operating-system-initrd-file)[boot-file-systems]: Likewise.
---
gnu/system.scm | 11 ++---------
gnu/system/file-systems.scm | 8 +++++++-
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/gnu/system.scm b/gnu/system.scm
index f98aa83..5c915d3 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -204,9 +204,7 @@ file."
"Return file system services for the file systems of OS that are not marked
as 'needed-for-boot'."
(define file-systems
- (remove (lambda (fs)
- (or (file-system-needed-for-boot? fs)
- (string=? "/" (file-system-mount-point fs))))
+ (remove file-system-needed-for-boot?
(operating-system-file-systems os)))
(define (device-mappings fs)
@@ -638,12 +636,7 @@ we're running in the final root."
(define (operating-system-initrd-file os)
"Return a gexp denoting the initrd file of OS."
(define boot-file-systems
- (filter (match-lambda
- (($ <file-system> device title "/")
- #t)
- (($ <file-system> device title mount-point type flags
- options boot?)
- boot?))
+ (filter file-system-needed-for-boot?
(operating-system-file-systems os)))
(define mapped-devices
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index ed9d705..4760821 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -70,13 +70,19 @@
(default '()))
(options file-system-options ; string or #f
(default #f))
- (needed-for-boot? file-system-needed-for-boot? ; Boolean
+ (needed-for-boot? %file-system-needed-for-boot? ; Boolean
(default #f))
(check? file-system-check? ; Boolean
(default #t))
(create-mount-point? file-system-create-mount-point? ; Boolean
(default #f)))
+(define-inlinable (file-system-needed-for-boot? fs)
+ "Return true if FS has the 'needed-for-boot?' flag set, or if it's the root
+file system."
+ (or (%file-system-needed-for-boot? fs)
+ (string=? "/" (file-system-mount-point fs))))
+
(define %fuse-control-file-system
;; Control file system for Linux' file systems in user-space (FUSE).
(file-system
- branch master updated (e6c1e91 -> 77c9286), Ludovic Courtès, 2014/11/25
- 02/09: gnu: Add mp3info., Ludovic Courtès, 2014/11/25
- 01/09: import: gnu: Write the hash in nix-base32 format., Ludovic Courtès, 2014/11/25
- 04/09: gnu: Add TagLib., Ludovic Courtès, 2014/11/25
- 03/09: licenses: Add MPL 1.1., Ludovic Courtès, 2014/11/25
- 05/09: install: Add wpa-supplicant to the image., Ludovic Courtès, 2014/11/25
- 06/09: build: Bump version number., Ludovic Courtès, 2014/11/25
- 08/09: file-systems: 'file-system-needed-for-boot?' always returns #t for "/".,
Ludovic Courtès <=
- 07/09: gnu: libksba: Update to 1.3.2 [security fix]., Ludovic Courtès, 2014/11/25
- 09/09: gnu: Add EMMS., Ludovic Courtès, 2014/11/25