diff options
Diffstat (limited to 'example/passthrough.c')
-rw-r--r-- | example/passthrough.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/example/passthrough.c b/example/passthrough.c index 15f424a..22e7083 100644 --- a/example/passthrough.c +++ b/example/passthrough.c @@ -52,6 +52,18 @@ static void *xmp_init(struct fuse_conn_info *conn, { (void) conn; cfg->use_ino = 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; } |