aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_lowlevel.h
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2023-05-08 16:12:08 -0700
committerNikolaus Rath <Nikolaus@rath.org>2023-05-12 23:27:43 +0100
commitdba6b3983af34f30de01cf532dff0b66f0ed6045 (patch)
tree6e6e34a74f0867b46ced81c5740c15cc2b70de6a /include/fuse_lowlevel.h
parentbb1890afd7d1eb33e95f36d1d9936dbd574260b6 (diff)
downloadlibfuse-dba6b3983af34f30de01cf532dff0b66f0ed6045.tar.gz
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.
Diffstat (limited to 'include/fuse_lowlevel.h')
-rw-r--r--include/fuse_lowlevel.h6
1 files changed, 6 insertions, 0 deletions
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