particular capability can still be disabled by unsetting the
corresponding bit of `fuse_conn_info.wants` in the init() handler.
+* Added FUSE_CAP_PARALLEL_DIROPS feature flag.
FUSE 3.0.0-rc2 (2016-11-06)
===========================
*/
#define FUSE_CAP_NO_OPEN_SUPPORT (1 << 17)
+/**
+ * Indicates support for parallel directory operations. If this flag
+ * is unset, the FUSE kernel module will ensure that lookup() and
+ * readdir() requests are never issued concurrently for the same
+ * directory.
+ *
+ * This feature is enabled by default when supported by the kernel.
+ */
+#define FUSE_CAP_PARALLEL_DIROPS (1 << 18)
+
/**
* Ioctl flags
*
se->conn.capable |= FUSE_CAP_WRITEBACK_CACHE;
if (arg->flags & FUSE_NO_OPEN_SUPPORT)
se->conn.capable |= FUSE_CAP_NO_OPEN_SUPPORT;
+ if (arg->flags & FUSE_PARALLEL_DIROPS)
+ se->conn.capable |= FUSE_CAP_PARALLEL_DIROPS;
} else {
se->conn.max_readahead = 0;
}
if ((cond) && (se->conn.capable & (cap))) \
se->conn.want |= (cap)
LL_SET_DEFAULT(1, FUSE_CAP_ASYNC_READ);
+ LL_SET_DEFAULT(1, FUSE_CAP_PARALLEL_DIROPS);
LL_SET_DEFAULT(1, FUSE_CAP_AUTO_INVAL_DATA);
LL_SET_DEFAULT(1, FUSE_CAP_ASYNC_DIO);
LL_SET_DEFAULT(1, FUSE_CAP_IOCTL_DIR);