From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:40156) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ieo9n-0003vq-1a for guix-patches@gnu.org; Tue, 10 Dec 2019 17:39:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ieo9l-0008Rh-Sv for guix-patches@gnu.org; Tue, 10 Dec 2019 17:39:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:50750) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ieo9l-0008RZ-PM for guix-patches@gnu.org; Tue, 10 Dec 2019 17:39:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ieo9l-0002bX-Ml for guix-patches@gnu.org; Tue, 10 Dec 2019 17:39:01 -0500 Subject: [bug#38462] [PATCH v2] linux-boot: Don't ignore flags when mounting root file system. Resent-Message-ID: References: <20191202205734.7018-1-glv@posteo.net> <87v9qpeeih.fsf@gnu.org> <87wob5v7zv.fsf@yamatai> <87k174kncu.fsf@gnu.org> <87fthsklk4.fsf@gnu.org> From: Guillaume Le Vaillant In-reply-to: <87fthsklk4.fsf@gnu.org> Date: Tue, 10 Dec 2019 23:37:25 +0100 Message-ID: <871rtb6c4a.fsf@yamatai> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 38462@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s skribis: > Ludovic Court=C3=A8s skribis: > > Actually no: =E2=80=9Cmake check-system TESTS=3Dbasic=E2=80=9D fails afte= r that. > Could you take a look? > > Thanks in advance, > Ludo=E2=80=99. 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. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-linux-boot-Don-t-ignore-flags-when-mounting-root-fil.patch >From f26de9d63a84842029d2393f28f6c96aa2bc766e Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant 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 --=-=-=--