diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse_common.h | 11 | ||||
-rw-r--r-- | include/fuse_lowlevel.h | 14 |
2 files changed, 22 insertions, 3 deletions
diff --git a/include/fuse_common.h b/include/fuse_common.h index bafcda0..8803b68 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -325,8 +325,10 @@ struct fuse_loop_config_v1 { * kernel. (If this flag is not set, returning ENOSYS will be treated * as an error and signaled to the caller). * - * Setting (or unsetting) this flag in the `want` field has *no - * effect*. + * Setting this flag in the `want` field enables this behavior automatically + * within libfuse for low level API users. If non-low level users wish to have + * this behavior you must return `ENOSYS` from the open() handler on supporting + * kernels. */ #define FUSE_CAP_NO_OPEN_SUPPORT (1 << 17) @@ -404,7 +406,10 @@ struct fuse_loop_config_v1 { * flag is not set, returning ENOSYS will be treated as an error and signalled * to the caller.) * - * Setting (or unsetting) this flag in the `want` field has *no effect*. + * Setting this flag in the `want` field enables this behavior automatically + * within libfuse for low level API users. If non-low level users with to have + * this behavior you must return `ENOSYS` from the opendir() handler on + * supporting kernels. */ #define FUSE_CAP_NO_OPENDIR_SUPPORT (1 << 24) diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 330d40e..8ff111a 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -532,6 +532,13 @@ struct fuse_lowlevel_ops { * future calls to open and release will also succeed without being * sent to the filesystem process. * + * To get this behavior without providing an opendir handler, you may + * set FUSE_CAP_NO_OPEN_SUPPORT in `fuse_conn_info.want` on supported + * kernels to automatically get the zero message open(). + * + * If this callback is not provided and FUSE_CAP_NO_OPEN_SUPPORT is not + * set in `fuse_conn_info.want` then an empty reply will be sent. + * * Valid replies: * fuse_reply_open * fuse_reply_err @@ -705,6 +712,13 @@ struct fuse_lowlevel_ops { * process. In addition, the kernel will cache readdir results * as if opendir returned FOPEN_KEEP_CACHE | FOPEN_CACHE_DIR. * + * To get this behavior without providing an opendir handler, you may + * set FUSE_CAP_NO_OPENDIR_SUPPORT in `fuse_conn_info.want` on supported + * kernels to automatically get the zero message opendir(). + * + * If this callback is not provided and FUSE_CAP_NO_OPENDIR_SUPPORT is + * not set in `fuse_conn_info.want` then an empty reply will be sent. + * * Valid replies: * fuse_reply_open * fuse_reply_err |