guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

22/22: gnu: Respect the root file-system's CHECK? field.


From: guix-commits
Subject: 22/22: gnu: Respect the root file-system's CHECK? field.
Date: Sun, 23 May 2021 17:40:25 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit 169cbd808aa712a355173609fe309ef1b83140fa
Author: Tobias Geerinckx-Rice <me@tobias.gr>
AuthorDate: Thu May 20 20:45:00 2021 +0200

    gnu: Respect the root file-system's CHECK? field.
    
    * gnu/build/linux-boot.scm (mount-root-file-system): Take a new #:CHECK?
    keyword argument.  Add it to the docstring.  Conditionally call
    CHECK-FILE-SYSTEM.
    (boot-system): Adjust its only caller to pass the <file-system>'s CHECK?
    option through, if available.
---
 gnu/build/linux-boot.scm | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index f20eeaa..7d1b3ee 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 
<ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 ;;;
@@ -411,11 +411,13 @@ the last argument of `mknod'."
           (filter-map string->number (scandir "/proc")))))
 
 (define* (mount-root-file-system root type
-                                 #:key volatile-root? (flags 0) options)
+                                 #:key volatile-root? (flags 0) options
+                                 check?)
   "Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT? is
 true, mount ROOT read-only and make it an overlay with a writable tmpfs using
 the kernel built-in overlayfs. FLAGS and OPTIONS indicates the options to use
-to mount ROOT, and behave the same as for the `mount' procedure."
+to mount ROOT, and behave the same as for the `mount' procedure.
+If CHECK? is true, first run ROOT's fsck tool (if any) non-interactively."
 
   (if volatile-root?
       (begin
@@ -436,7 +438,8 @@ to mount ROOT, and behave the same as for the `mount' 
procedure."
         (mount "none" "/root" "overlay" 0
                
"lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
       (begin
-        (check-file-system root type)
+        (when check?
+          (check-file-system root type))
         (mount root "/root" type flags options)))
 
   ;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
@@ -600,7 +603,10 @@ upon error."
                                     root-fs-type
                                     #:volatile-root? volatile-root?
                                     #:flags root-fs-flags
-                                    #:options root-options)
+                                    #:options root-options
+                                    #:check? (if root-fs
+                                                 (file-system-check? root-fs)
+                                                 #t))
             (mount "none" "/root" "tmpfs"))
 
         ;; Mount the specified file systems.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]