From dba6b3983af34f30de01cf532dff0b66f0ed6045 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Mon, 8 May 2023 16:12:08 -0700 Subject: Do not pass unsupported mount options to the kernel. The filesystem daemon is responsible for implementing eg. st_atime updates, so passing options like relatime to the kernel results in them being silently ignored. Instead, such options need to be interpreted (and filtered out) by the filesystem daemon. --- include/fuse_lowlevel.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include') diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 6500e29..9142b1c 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -313,6 +313,12 @@ struct fuse_lowlevel_ops { * expected to reset the setuid and setgid bits if the file * size or owner is being changed. * + * This method will not be called to update st_atime or st_ctime implicitly + * (eg. after a read() request), and only be called to implicitly update st_mtime + * if writeback caching is active. It is the filesystem's responsibility to update + * these timestamps when needed, and (if desired) to implement mount options like + * `noatime` or `relatime`. + * * If the setattr was invoked from the ftruncate() system call * under Linux kernel versions 2.6.15 or later, the fi->fh will * contain the value set by the open method or will be undefined -- cgit v1.2.3