Re: [RFC PATCH v3 6/8] fuse: implementation of lookup_handle+statx compound operation

From: Miklos Szeredi

Date: Thu Feb 26 2026 - 05:30:19 EST


On Thu, 26 Feb 2026 at 11:08, Amir Goldstein <amir73il@xxxxxxxxx> wrote:

> file handle on stack only makes sense for small pre allocated size.
> If the server has full control over handle size, then that is not relevant.

I thought the point was that the file handle is available in
fi->handle and doesn't need to be allocated/copied. Instead
extensions could be done with an argument vector, like this:

--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -326,6 +326,12 @@ struct fuse_folio_desc {
unsigned int offset;
};

+struct fuse_ext_arg {
+ u32 type;
+ u32 size;
+ const void *value;
+};
+
struct fuse_args {
uint64_t nodeid;
uint32_t opcode;
@@ -346,6 +352,7 @@ struct fuse_args {
bool is_pinned:1;
bool invalidate_vmap:1;
struct fuse_in_arg in_args[4];
+ struct fuse_ext_arg ext_args[2];
struct fuse_arg out_args[2];
void (*end)(struct fuse_mount *fm, struct fuse_args *args, int error);
/* Used for kvec iter backed by vmalloc address */

Thanks,
Miklos