>From e7dcba4a76d624470d05172390dde8151fdb4750 Mon Sep 17 00:00:00 2001 From: rendaw <> Date: Mon, 29 Apr 2019 01:00:17 +0900 Subject: [PATCH] [bug #35475] [PATCH] Add filesystem flag NOATIME Add a no-atime flag to the file-system flags parameter and updates the relevant documentation. --- doc/guix.texi | 11 +++++++---- gnu/build/file-systems.scm | 2 ++ guix/build/syscalls.scm | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 879cb562e9..8b89bdec53 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10726,13 +10726,16 @@ the system knows that mounting the file system depends on having the corresponding device mapping established. @item @code{flags} (default: @code{'()}) -This is a list of symbols denoting mount flags. Recognized flags -include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow +This is a list of symbols denoting general mount flags. Recognized flags +are @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-exec} (disallow program execution), and @code{no-atime}. +See @code{man 2 mount} for details. @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 filesystem-specific mount +options passed to the filesystem driver. See @code{man 2 mount} for details +and @code{man 8 mount} for options for various filesystems. @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) -- 2.21.0