diff options
| -rw-r--r-- | xlators/mount/fuse/src/fuse-bridge.c | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c index d65de5f69a4..bf86cf73e63 100644 --- a/xlators/mount/fuse/src/fuse-bridge.c +++ b/xlators/mount/fuse/src/fuse-bridge.c @@ -3437,7 +3437,21 @@ fuse_init (xlator_t *this, fuse_in_header_t *finh, void *msg)                          goto out;                  }                  priv->reverse_fuse_thread_started = _gf_true; -        } +        } else { +		/* +		 * FUSE minor < 12 does not implement invalidate notifications. +		 * This mechanism is required for fopen-keep-cache to operate +		 * correctly. Disable and warn the user. +		 */ +		if (priv->fopen_keep_cache) { +			gf_log("glusterfs-fuse", GF_LOG_WARNING, "FUSE version " +				"%d.%d does not support inval notifications. " +				"fopen-keep-cache disabled.", fini->major, +				fini->minor); +			priv->fopen_keep_cache = 0; +		} +	} +          if (fini->minor >= 13) {                  /* these values seemed to work fine during testing */                  fino.max_background = 64;  | 
