aboutsummaryrefslogtreecommitdiff
path: root/example/passthrough_fh.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/passthrough_fh.c')
-rw-r--r--example/passthrough_fh.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/example/passthrough_fh.c b/example/passthrough_fh.c
index c807d75..372282e 100644
--- a/example/passthrough_fh.c
+++ b/example/passthrough_fh.c
@@ -57,6 +57,18 @@ static void *xmp_init(struct fuse_conn_info *conn,
(void) conn;
cfg->use_ino = 1;
cfg->nullpath_ok = 1;
+
+ /* Pick up changes from lower filesystem right away. This is
+ also necessary for better hardlink support. When the kernel
+ calls the unlink() handler, it does not know the inode of
+ the to-be-removed entry and can therefore not invalidate
+ the cache of the associated inode - resulting in an
+ incorrect st_nlink value being reported for any remaining
+ hardlinks to this inode. */
+ cfg->entry_timeout = 0;
+ cfg->attr_timeout = 0;
+ cfg->negative_timeout = 0;
+
return NULL;
}