[PATCH] file-systems: Support the 'rel-atime' flag.

  • Open
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal
D
D
Danny Milosavljevic wrote on 29 Apr 2019 20:56
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190429185610.14475-1-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)
T
T
Tobias Geerinckx-Rice wrote on 29 Apr 2019 21:23
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 35494@debbugs.gnu.org)
871s1kvcni.fsf@nckx
Danny,

Danny Milosavljevic wrote:
Toggle quote (29 lines)
> * 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(-)
>
> 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
^^^^^^^^^

That's a great way to explain it in 5 words, but note that there's
also ‘lazytime’ which does the same thing, only slightly less so
:-)

(How about adding that, too?)

MHO: since we're adding a hyphen and not blindly following
upstream already, I think the symbol itself should be
‘relative-atime’. Abbrevs r meh.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXMdPQQAKCRANsP+IT1Vt
eVIlAQDyWSn8ndcW8bGQfDe/lwby6UebxPpHGVeqwYHcfYFhsgEA/WjB19Nw5RQt
NAmk/JRIpk6jOWECa1nfn1RvNNnl+QY=
=je61
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 35494@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 35494
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch