From 50d1bec4794aae9e77062de5214b91bcc52a890d Mon Sep 17 00:00:00 2001 From: Bernd Schubert Date: Thu, 18 Sep 2025 23:49:41 +0200 Subject: io-uring: re-initialize fields in struct fuse_req In io-uring mode these requests are always re-used and not allocated - we need to re-initialize them. In order to set flags to zero a struct holding the flags had to be added. Signed-off-by: Bernd Schubert --- lib/fuse_i.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/fuse_i.h') diff --git a/lib/fuse_i.h b/lib/fuse_i.h index d3d86d4..d35e1e5 100644 --- a/lib/fuse_i.h +++ b/lib/fuse_i.h @@ -38,9 +38,11 @@ struct fuse_req { struct fuse_ctx ctx; struct fuse_chan *ch; int interrupted; - unsigned int ioctl_64bit : 1; - unsigned int is_uring : 1; - unsigned int is_copy_file_range_64 : 1; + struct { + unsigned int ioctl_64bit : 1; + unsigned int is_uring : 1; + unsigned int is_copy_file_range_64 : 1; + } flags; union { struct { uint64_t unique; @@ -218,6 +220,7 @@ int fuse_kern_mount(const char *mountpoint, struct mount_opts *mo); int fuse_send_reply_iov_nofree(fuse_req_t req, int error, struct iovec *iov, int count); void fuse_free_req(fuse_req_t req); +void list_init_req(struct fuse_req *req); void _cuse_lowlevel_init(fuse_req_t req, const fuse_ino_t nodeid, const void *req_header, const void *req_payload); -- cgit v1.2.3