path: root/xlators/mount/fuse/utils
diff options
authorBrian Foster <>2012-06-13 12:08:38 -0400
committerAnand Avati <>2012-07-13 09:46:09 -0700
commit32ffb79f18cbaebcbe6bba51599ca234f44675cc (patch)
tree3f7589078e618cf0f575e5ad03a67afecb50d006 /xlators/mount/fuse/utils
parentca4900497142127c31d0dba7a53a921200aaf790 (diff)
fuse/md-cache: add support for the 'fopen-keep-cache' mount option
fopen-keep-cache disables unconditional page-cache invalidations on file open in fuse (via FOPEN_KEEP_CACHE) and replaces that behavior with detection of remote changes and explicit invalidations from mount/fuse. This option improves local caching through the page cache and native client. This change defines a new 'invalidate' translator callback to identify when an inode's cache mapping has been determined to be invalid. md-cache implements the policy to detect and invoke inode invalidations. fuse-bridge and io-cache implement invalidate handlers to invalidate the respective caches (page cache in the case of fuse). BUG: 833564 Change-Id: I99818da5777eaf06276c1c0b194669f5bab92d48 Signed-off-by: Brian Foster <> Reviewed-on: Tested-by: Gluster Build System <> Reviewed-by: Anand Avati <>
Diffstat (limited to 'xlators/mount/fuse/utils')
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/mount/fuse/utils/ b/xlators/mount/fuse/utils/
index ee956885c..b623d3428 100755
--- a/xlators/mount/fuse/utils/
+++ b/xlators/mount/fuse/utils/
@@ -132,6 +132,10 @@ start_glusterfs ()
cmd_line=$(echo "$cmd_line --entry-timeout=$entry_timeout");
+ if [ -n "$fopen_keep_cache" ]; then
+ cmd_line=$(echo "$cmd_line --fopen-keep-cache");
+ fi
# for rdma volume, we have to fetch volfile with '.rdma' added
# to volume name, so that it fetches the right client vol file
@@ -297,6 +301,7 @@ main ()
"acl") acl=1 ;;
"selinux") selinux=1 ;;
"worm") worm=1 ;;
+ "fopen-keep-cache") fopen_keep_cache=1 ;;
# "mount -t glusterfs" sends this, but it's useless.
"rw") ;;