(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
* guix/build/syscalls.scm (MS_RELATIME): New variable.
* gnu/build/file-systems.scm (mount-flags->bit-mask): Support it.
* doc/guix.texi (File Systems): Document it.
---
doc/guix.texi | 9 ++++++---
gnu/build/file-systems.scm | 2 ++
guix/build/syscalls.scm | 2 ++
3 files changed, 10 insertions(+), 3 deletions(-)
Toggle diff (53 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index fcee57d9cd..20c9b570c9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10756,9 +10756,12 @@ corresponding device mapping established.
This is a list of symbols denoting mount flags. Recognized flags
include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow
access to special files), @code{no-suid} (ignore setuid and setgid
-bits), @code{no-atime} (do not update file access times), and @code{no-exec}
-(disallow program execution). @xref{Mount-Unmount-Remount,,, libc, The GNU C
-Library Reference Manual}, for more information on these flags.
+bits), @code{no-atime} (do not update file access times),
+@code{rel-atime} (update file access time minimally), and
+@code{no-exec} (disallow program execution).
+
+@xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual},
+for more information on these flags.
@item @code{options} (default: @code{#f})
This is either @code{#f}, or a string denoting mount options passed to the
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 8bb10d574d..06fdf0ccd8 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -577,6 +577,8 @@ corresponds to the symbols listed in FLAGS."
(logior MS_NOEXEC (loop rest)))
(('no-atime rest ...)
(logior MS_NOATIME (loop rest)))
+ (('rel-atime rest ...)
+ (logior MS_RELATIME (loop rest)))
(()
0))))
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 3316dc8dc5..5039003bcb 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -40,6 +40,7 @@
MS_NOEXEC
MS_REMOUNT
MS_NOATIME
+ MS_RELATIME
MS_BIND
MS_MOVE
MS_STRICTATIME
@@ -455,6 +456,7 @@ the returned procedure is called."
(define MS_NOATIME 1024)
(define MS_BIND 4096)
(define MS_MOVE 8192)
+(define MS_RELATIME 2097152)
(define MS_STRICTATIME 16777216)
(define MNT_FORCE 1)