summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrendaw <7e9wc56emjakcm@s.rendaw.me>2019-04-29 12:08:51 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-29 12:19:03 +0200
commit9d3053819dfd834a1c29a03427c41d8524b8a7d5 (patch)
tree079b362a7ffa3d2c8b6947d27740de16e49c3c12
parent2f8198dfed1de935dfc60510a5514e5c289c3fc7 (diff)
downloadpatches-9d3053819dfd834a1c29a03427c41d8524b8a7d5.tar
patches-9d3053819dfd834a1c29a03427c41d8524b8a7d5.tar.gz
file-systems: Support the 'no-atime' flag.
* guix/build/syscalls.scm (MS_NOATIME): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Support it. * doc/guix.texi (File Systems): Document it and add cross-references to the relevant documentation. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--doc/guix.texi9
-rw-r--r--gnu/build/file-systems.scm2
-rw-r--r--guix/build/syscalls.scm2
3 files changed, 11 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 8f6e5bc20c..39d2ee476a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10753,10 +10753,15 @@ 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), and @code{no-exec} (disallow program execution.)
+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.
@item @code{options} (default: @code{#f})
-This is either @code{#f}, or a string denoting mount options.
+This is either @code{#f}, or a string denoting mount options passed to the
+file system driver. @xref{Mount-Unmount-Remount,,, libc, The GNU C Library
+Reference Manual}, for details and run @command{man 8 mount} for options for
+various file systems.
@item @code{mount?} (default: @code{#t})
This value indicates whether to automatically mount the file system when
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index c468144170..8bb10d574d 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -575,6 +575,8 @@ corresponds to the symbols listed in FLAGS."
(logior MS_NODEV (loop rest)))
(('no-exec rest ...)
(logior MS_NOEXEC (loop rest)))
+ (('no-atime rest ...)
+ (logior MS_NOATIME (loop rest)))
(()
0))))
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 66d63a2931..3316dc8dc5 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -39,6 +39,7 @@
MS_NODEV
MS_NOEXEC
MS_REMOUNT
+ MS_NOATIME
MS_BIND
MS_MOVE
MS_STRICTATIME
@@ -451,6 +452,7 @@ the returned procedure is called."
(define MS_NODEV 4)
(define MS_NOEXEC 8)
(define MS_REMOUNT 32)
+(define MS_NOATIME 1024)
(define MS_BIND 4096)
(define MS_MOVE 8192)
(define MS_STRICTATIME 16777216)