From 72f558d23b2ddf4843fba1b6f6f213f4e274a90e Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Thu, 8 Jun 2017 13:32:46 -0400 Subject: Clarify *_timeout semantics When changes always come through kernel, timeouts should be large. --- include/fuse_common.h | 4 ++-- include/fuse_lowlevel.h | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/fuse_common.h b/include/fuse_common.h index bb73d9f..6bb14f3 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -189,8 +189,8 @@ struct fuse_file_info { * cached file *contents* will be invalidated as well. * * This flag should always be set when available. If all file changes - * go through the kernel, *attr_timeout* should be set to zero to - * avoid unneccessary getattr() calls. + * go through the kernel, *attr_timeout* should be set to a very large + * number to avoid unneccessary getattr() calls. * * This feature is enabled by default when supported by the kernel. */ diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 8d93766..b9acc7e 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -90,10 +90,16 @@ struct fuse_entry_param { */ struct stat attr; - /** Validity timeout (in seconds) for the attributes */ + /** Validity timeout (in seconds) for inode attributes. If + attributes only change as a result of requests that come + through the kernel, this should be set to a very large + value. */ double attr_timeout; - /** Validity timeout (in seconds) for the name */ + /** Validity timeout (in seconds) for the name. If directory + entries are changed/deleted only as a result of requests + that come through the kernel, this should be set to a very + large value. */ double entry_timeout; }; -- cgit v1.2.3