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>
This commit is contained in:
Sören Tempel 2025-10-27 04:11:20 +01:00 committed by Ludovic Courtès
parent b2a6f65753
commit 08db14c74f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 4 additions and 2 deletions

View file

@ -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.

View file

@ -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))
(()

View file

@ -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."