aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse_i.h
diff options
context:
space:
mode:
authorBernd Schubert <bschubert@ddn.com>2025-03-24 18:46:29 +0100
committerBernd Schubert <bernd@bsbernd.com>2025-04-28 19:57:39 +0200
commitdde540e413eba6d22a4515659dd72262b8a01af4 (patch)
tree4c1e449dbd9a838a9fd2d93cf19ee88eb8f117eb /lib/fuse_i.h
parentef533e2e3fedbd647726416fa7f36ca543ee13ea (diff)
downloadlibfuse-dde540e413eba6d22a4515659dd72262b8a01af4.tar.gz
fuse: Add ring creation
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Diffstat (limited to 'lib/fuse_i.h')
-rw-r--r--lib/fuse_i.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/fuse_i.h b/lib/fuse_i.h
index 89a5c6f..b643e90 100644
--- a/lib/fuse_i.h
+++ b/lib/fuse_i.h
@@ -6,6 +6,9 @@
See the file COPYING.LIB
*/
+#ifndef LIB_FUSE_I_H_
+#define LIB_FUSE_I_H_
+
#include "fuse.h"
#include "fuse_lowlevel.h"
#include "util.h"
@@ -24,6 +27,7 @@
})
struct mount_opts;
+struct fuse_ring_pool;
struct fuse_req {
struct fuse_session *se;
@@ -34,6 +38,7 @@ struct fuse_req {
struct fuse_chan *ch;
int interrupted;
unsigned int ioctl_64bit : 1;
+ unsigned int is_uring : 1;
union {
struct {
uint64_t unique;
@@ -55,6 +60,11 @@ struct fuse_notify_req {
struct fuse_notify_req *prev;
};
+struct fuse_session_uring {
+ unsigned int q_depth;
+ struct fuse_ring_pool *pool;
+};
+
struct fuse_session {
char *mountpoint;
int fd;
@@ -79,7 +89,8 @@ struct fuse_session {
_Atomic size_t bufsize;
int error;
- /* This is useful if any kind of ABI incompatibility is found at
+ /*
+ * This is useful if any kind of ABI incompatibility is found at
* a later version, to 'fix' it at run time.
*/
struct libfuse_version version;
@@ -91,6 +102,9 @@ struct fuse_session {
/* true if reading requests from /dev/fuse are handled internally */
bool buf_reallocable;
+
+ /* io_uring */
+ struct fuse_session_uring uring;
};
struct fuse_chan {
@@ -269,3 +283,5 @@ static inline int convert_to_conn_want_ext(struct fuse_conn_info *conn,
return 0;
}
+
+#endif /* LIB_FUSE_I_H_*/