summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-22 22:31:46 -0700
committerSage Weil <sage@inktank.com>2013-07-22 22:31:46 -0700
commit0d1338f1eb2a40cf89456ecca320d4f898bc5143 (patch)
treec7bdc0ca2b3b12fc195a26e2e03ad21df4522450
parent5a7285949cb8806b676e7b535dea54eea2857089 (diff)
downloadceph-wip-5039.tar.gz
ceph-fuse: add 'fuse_use_dentry_invalidate_cb' option, default truewip-5039
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/client/fuse_ll.cc3
-rw-r--r--src/common/config_opts.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc
index 120d83d6b58..ab122350ca7 100644
--- a/src/client/fuse_ll.cc
+++ b/src/client/fuse_ll.cc
@@ -717,7 +717,8 @@ int CephFuse::Handle::init(int argc, const char *argv[])
client->ll_register_getgroups_cb(getgroups_cb, this);
- client->ll_register_dentry_invalidate_cb(dentry_invalidate_cb, this);
+ if (g_conf->fuse_use_dentry_invalidate_cb)
+ client->ll_register_dentry_invalidate_cb(dentry_invalidate_cb, this);
if (g_conf->fuse_use_invalidate_cb)
client->ll_register_ino_invalidate_cb(ino_invalidate_cb, this);
diff --git a/src/common/config_opts.h b/src/common/config_opts.h
index b43808e211c..e873d556f44 100644
--- a/src/common/config_opts.h
+++ b/src/common/config_opts.h
@@ -251,6 +251,7 @@ OPTION(client_debug_force_sync_read, OPT_BOOL, false) // always read synchro
OPTION(client_debug_inject_tick_delay, OPT_INT, 0) // delay the client tick for a number of seconds
// note: the max amount of "in flight" dirty data is roughly (max - target)
OPTION(fuse_use_invalidate_cb, OPT_BOOL, false) // use fuse 2.8+ invalidate callback to keep page cache consistent
+OPTION(fuse_use_dentry_invalidate_cb, OPT_BOOL, true) // use fuse 2.8+ invalidate callback to release unlinked inodes
OPTION(fuse_allow_other, OPT_BOOL, true)
OPTION(fuse_default_permissions, OPT_BOOL, true)
OPTION(fuse_big_writes, OPT_BOOL, true)