From 6352e3a17b5978cf9af9e1668816d8f47ec85208 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 20 Oct 2022 21:16:49 +0200 Subject: syscalls: Define 'MS_NODIRATIME' and recognize "nodiratime". Fixes . This is a followup to b665dd4a9902b5722b9e06fd89c203e2221b19e0 and dcb640f02b1f9590c3bd4301a22bf31bd60c56d4, allowing "nodiratime" to be preserved for bind mounts. * guix/build/syscalls.scm (MS_NODIRATIME): New variable. (option-string->mount-flags): Recognize it. (statfs-flags->mount-flags): Likewise. --- guix/build/syscalls.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'guix') diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 7842b0a9fc..61926beb80 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -46,6 +46,7 @@ (define-module (guix build syscalls) MS_NOEXEC MS_REMOUNT MS_NOATIME + MS_NODIRATIME MS_STRICTATIME MS_RELATIME MS_BIND @@ -537,6 +538,7 @@ (define MS_NODEV 4) (define MS_NOEXEC 8) (define MS_REMOUNT 32) (define MS_NOATIME 1024) +(define MS_NODIRATIME 2048) (define MS_BIND 4096) (define MS_MOVE 8192) (define MS_SHARED 1048576) @@ -640,7 +642,8 @@ (define lst ("nodev" => MS_NODEV) ("noexec" => MS_NOEXEC) ("relatime" => MS_RELATIME) - ("noatime" => MS_NOATIME))))))) + ("noatime" => MS_NOATIME) + ("nodiratime" => MS_NODIRATIME))))))) (define (mount-flags mount) "Return the mount flags of MOUNT, a record, as an inclusive or of @@ -873,7 +876,7 @@ (define (statfs-flags->mount-flags flags) (ST_NODEV => MS_NODEV) (ST_NOEXEC => MS_NOEXEC) (ST_NOATIME => MS_NOATIME) - (ST_NODIRATIME => 0) ;FIXME + (ST_NODIRATIME => MS_NODIRATIME) (ST_RELATIME => MS_RELATIME)))) (define-c-struct %statfs ; -- cgit v1.2.3