unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system.
@ 2019-12-02 20:57 Guillaume Le Vaillant
  2019-12-09 14:53 ` bug#38462: " Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Guillaume Le Vaillant @ 2019-12-02 20:57 UTC (permalink / raw)
  To: 38462; +Cc: Guillaume Le Vaillant

* gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
  argument and use it when mounting the root file system.
  (boot-system): Pass the root file system flags to 'mount-root-file-system'.
---
 gnu/build/linux-boot.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 950a3507f2..fcec751f45 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -358,10 +358,10 @@ the last argument of `mknod'."
           (filter-map string->number (scandir "/proc")))))
 
 (define* (mount-root-file-system root type
-                                 #:key volatile-root? options)
-  "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.  OPTIONS indicates the options to use
+                                 #:key volatile-root? (flags 0) options)
+  "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."
 
   (if volatile-root?
@@ -384,7 +384,7 @@ to mount ROOT."
                "lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
       (begin
         (check-file-system root type)
-        (mount root "/root" type 0 options)))
+        (mount root "/root" type flags options)))
 
   ;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
   (false-if-exception
@@ -474,6 +474,13 @@ upon error."
              mounts)
         "ext4"))
 
+  (define root-fs-flags
+    (mount-flags->bit-mask (or (any (lambda (fs)
+                                      (and (root-mount-point? fs)
+                                           (file-system-flags fs)))
+                                    mounts)
+                               0)))
+
   (define root-fs-options
     (any (lambda (fs)
            (and (root-mount-point? fs)
@@ -533,6 +540,7 @@ upon error."
               (mount-root-file-system (canonicalize-device-spec root)
                                       root-fs-type
                                       #:volatile-root? volatile-root?
+                                      #:flags root-fs-flags
                                       #:options root-fs-options))
             (mount "none" "/root" "tmpfs"))
 
-- 
2.24.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#38462: [PATCH] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-02 20:57 [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system Guillaume Le Vaillant
@ 2019-12-09 14:53 ` Ludovic Courtès
  2019-12-09 15:22   ` [bug#38462] " Guillaume Le Vaillant
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-12-09 14:53 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 38462-done

Guillaume Le Vaillant <glv@posteo.net> skribis:

> * gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
>   argument and use it when mounting the root file system.
>   (boot-system): Pass the root file system flags to 'mount-root-file-system'.

This was pushed as 900ef20b1da66ad71145082c883dc12f31fafa54, closing!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-09 14:53 ` bug#38462: " Ludovic Courtès
@ 2019-12-09 15:22   ` Guillaume Le Vaillant
  2019-12-10 19:10     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Guillaume Le Vaillant @ 2019-12-09 15:22 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 38462


Ludovic Courtès skribis:

> Guillaume Le Vaillant <glv@posteo.net> skribis:
>
>> * gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
>>   argument and use it when mounting the root file system.
>>   (boot-system): Pass the root file system flags to 'mount-root-file-system'.
>
> This was pushed as 900ef20b1da66ad71145082c883dc12f31fafa54, closing!
>
> Ludo’.

These are in fact two similar but different patches. Patch
900ef20b1da66ad71145082c883dc12f31fafa54 added support for the 'options'
field of a file-system definition, whereas this patch adds support for
the 'flags' field.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-09 15:22   ` [bug#38462] " Guillaume Le Vaillant
@ 2019-12-10 19:10     ` Ludovic Courtès
  2019-12-10 19:49       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-12-10 19:10 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 38462-done

Hi,

Guillaume Le Vaillant <glv@posteo.net> skribis:

> Ludovic Courtès skribis:
>
>> Guillaume Le Vaillant <glv@posteo.net> skribis:
>>
>>> * gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
>>>   argument and use it when mounting the root file system.
>>>   (boot-system): Pass the root file system flags to 'mount-root-file-system'.
>>
>> This was pushed as 900ef20b1da66ad71145082c883dc12f31fafa54, closing!
>>
>> Ludo’.
>
> These are in fact two similar but different patches. Patch
> 900ef20b1da66ad71145082c883dc12f31fafa54 added support for the 'options'
> field of a file-system definition, whereas this patch adds support for
> the 'flags' field.

Oops, my bad.  Applied, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-10 19:10     ` Ludovic Courtès
@ 2019-12-10 19:49       ` Ludovic Courtès
  2019-12-10 22:37         ` [bug#38462] [PATCH v2] " Guillaume Le Vaillant
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2019-12-10 19:49 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 38462-done, 38462

Ludovic Courtès <ludo@gnu.org> skribis:

> Guillaume Le Vaillant <glv@posteo.net> skribis:
>
>> Ludovic Courtès skribis:
>>
>>> Guillaume Le Vaillant <glv@posteo.net> skribis:
>>>
>>>> * gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
>>>>   argument and use it when mounting the root file system.
>>>>   (boot-system): Pass the root file system flags to 'mount-root-file-system'.
>>>
>>> This was pushed as 900ef20b1da66ad71145082c883dc12f31fafa54, closing!
>>>
>>> Ludo’.
>>
>> These are in fact two similar but different patches. Patch
>> 900ef20b1da66ad71145082c883dc12f31fafa54 added support for the 'options'
>> field of a file-system definition, whereas this patch adds support for
>> the 'flags' field.
>
> Oops, my bad.  Applied, thanks!

Actually no: “make check-system TESTS=basic” fails after that.
Could you take a look?

Thanks in advance,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38462] [PATCH v2] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-10 19:49       ` Ludovic Courtès
@ 2019-12-10 22:37         ` Guillaume Le Vaillant
  2019-12-12 16:55           ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Guillaume Le Vaillant @ 2019-12-10 22:37 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 38462

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]


Ludovic Courtès skribis:

> Ludovic Courtès <ludo@gnu.org> skribis:
>
> Actually no: “make check-system TESTS=basic” fails after that.
> Could you take a look?
>
> Thanks in advance,
> Ludo’.

The attached patch should fix the issue. There was a mix up between the
representations of flags as a list of symbols or as a bit mask.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-linux-boot-Don-t-ignore-flags-when-mounting-root-fil.patch --]
[-- Type: text/x-patch, Size: 2768 bytes --]

From f26de9d63a84842029d2393f28f6c96aa2bc766e Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Mon, 2 Dec 2019 21:15:50 +0100
Subject: [PATCH v2] linux-boot: Don't ignore flags when mounting root file
 system.

* gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
  argument and use it when mounting the root file system.
  (boot-system): Pass the root file system flags to 'mount-root-file-system'.
---
 gnu/build/linux-boot.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 950a3507f2..3d40a7d05d 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -358,10 +358,10 @@ the last argument of `mknod'."
           (filter-map string->number (scandir "/proc")))))
 
 (define* (mount-root-file-system root type
-                                 #:key volatile-root? options)
-  "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.  OPTIONS indicates the options to use
+                                 #:key volatile-root? (flags 0) options)
+  "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."
 
   (if volatile-root?
@@ -384,7 +384,7 @@ to mount ROOT."
                "lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
       (begin
         (check-file-system root type)
-        (mount root "/root" type 0 options)))
+        (mount root "/root" type flags options)))
 
   ;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
   (false-if-exception
@@ -474,6 +474,13 @@ upon error."
              mounts)
         "ext4"))
 
+  (define root-fs-flags
+    (mount-flags->bit-mask (or (any (lambda (fs)
+                                      (and (root-mount-point? fs)
+                                           (file-system-flags fs)))
+                                    mounts)
+                               '())))
+
   (define root-fs-options
     (any (lambda (fs)
            (and (root-mount-point? fs)
@@ -533,6 +540,7 @@ upon error."
               (mount-root-file-system (canonicalize-device-spec root)
                                       root-fs-type
                                       #:volatile-root? volatile-root?
+                                      #:flags root-fs-flags
                                       #:options root-fs-options))
             (mount "none" "/root" "tmpfs"))
 
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#38462] [PATCH v2] linux-boot: Don't ignore flags when mounting root file system.
  2019-12-10 22:37         ` [bug#38462] [PATCH v2] " Guillaume Le Vaillant
@ 2019-12-12 16:55           ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-12-12 16:55 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 38462-done

Hi,

Guillaume Le Vaillant <glv@posteo.net> skribis:

> Ludovic Courtès skribis:
>
>> Ludovic Courtès <ludo@gnu.org> skribis:
>>
>> Actually no: “make check-system TESTS=basic” fails after that.
>> Could you take a look?
>>
>> Thanks in advance,
>> Ludo’.
>
> The attached patch should fix the issue. There was a mix up between the
> representations of flags as a list of symbols or as a bit mask.

Yeah.

> From f26de9d63a84842029d2393f28f6c96aa2bc766e Mon Sep 17 00:00:00 2001
> From: Guillaume Le Vaillant <glv@posteo.net>
> Date: Mon, 2 Dec 2019 21:15:50 +0100
> Subject: [PATCH v2] linux-boot: Don't ignore flags when mounting root file
>  system.
>
> * gnu/build/linux-boot.scm (mount-root-file-system): Add the 'flags' keyword
>   argument and use it when mounting the root file system.
>   (boot-system): Pass the root file system flags to 'mount-root-file-system'.

Applied for good this time, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-12 16:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-02 20:57 [bug#38462] [PATCH] linux-boot: Don't ignore flags when mounting root file system Guillaume Le Vaillant
2019-12-09 14:53 ` bug#38462: " Ludovic Courtès
2019-12-09 15:22   ` [bug#38462] " Guillaume Le Vaillant
2019-12-10 19:10     ` Ludovic Courtès
2019-12-10 19:49       ` Ludovic Courtès
2019-12-10 22:37         ` [bug#38462] [PATCH v2] " Guillaume Le Vaillant
2019-12-12 16:55           ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).