From 08db14c74f5d0608f70f87c0cdbcb80fd0a499f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Mon, 27 Oct 2025 04:11:20 +0100 Subject: [PATCH] file-systems: Support the 'remount' mount flag. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows remounting file systems which are already mounted by the initrd with custom mount options (e.g. /proc with hidepid=2). * gnu/build/file-systems.scm (mount-flags->bit-mask): Map 'remount to MS_REMOUNT. * gnu/system/file-systems.scm (invalid-file-system-flags): Add 'remount to the list of KNOWN-FLAGS. * doc/guix.texi (File Systems): Document it. Fixes: guix/guix#3849 Change-Id: I0ab116a5b4f7bd201e955ecf022e260c63828dc4 Signed-off-by: Ludovic Courtès --- doc/guix.texi | 2 +- gnu/build/file-systems.scm | 2 ++ gnu/system/file-systems.scm | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2235b93a216..55eaabf0dbb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18443,7 +18443,7 @@ bits), @code{no-atime} (do not update file access times), @code{no-diratime} (likewise for directories only), @code{strict-atime} (update file access time), @code{lazy-time} (only update time on the in-memory version of the file inode), -@code{no-exec} (disallow program execution), and @code{shared} (make the +@code{no-exec} (disallow program execution), @code{remount} (remount a mounted file system), and @code{shared} (make the mount shared). @xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}, for more information on these flags. diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 1ff954583a7..d25b798b117 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -1312,6 +1312,8 @@ corresponds to the symbols listed in FLAGS." (logior MS_STRICTATIME (loop rest))) (('lazy-time rest ...) (logior MS_LAZYTIME (loop rest))) + (('remount rest ...) + (logior MS_REMOUNT (loop rest))) (('shared rest ...) (loop rest)) (() diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index f4086dd62b7..f83b67c4770 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -123,7 +123,7 @@ ;; Note: Keep in sync with 'mount-flags->bit-mask'. (let ((known-flags '(read-only bind-mount no-suid no-dev no-exec - no-atime no-diratime strict-atime lazy-time + no-atime no-diratime strict-atime lazy-time remount shared))) (lambda (flags) "Return the subset of FLAGS that is invalid."