summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2025-10-27 04:11:20 +0100
committerLudovic Courtès <ludo@gnu.org>2025-11-06 23:29:46 +0100
commit08db14c74f5d0608f70f87c0cdbcb80fd0a499f5 (patch)
tree42eaf19a9660704d2d42ebecc5d29b055f200aae
parentb2a6f65753aa6ec15c630f2285f9bae4de84e13e (diff)
file-systems: Support the 'remount' mount flag.
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 <ludo@gnu.org>
-rw-r--r--doc/guix.texi2
-rw-r--r--gnu/build/file-systems.scm2
-rw-r--r--gnu/system/file-systems.scm2
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."