[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260109-fuse-compounds-upstream-v4-0-0d3b82a4666f@ddn.com>
Date: Fri, 09 Jan 2026 19:26:58 +0100
From: Horst Birthelmer <horst@...thelmer.com>
To: Miklos Szeredi <miklos@...redi.hu>, Bernd Schubert <bschubert@....com>,
Joanne Koong <joannelkoong@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
Horst Birthelmer <hbirthelmer@....com>
Subject: [PATCH v4 0/3] fuse: compound commands
In the discussion about open+getattr here [1] Bernd and Miklos talked
about the need for a compound command in fuse that could send multiple
commands to a fuse server.
Here's a propsal for exactly that compound command with an example
(the mentioned open+getattr).
The pull request for libfuse is here [2]
That pull request contains a patch for handling compounds
and a patch for passthrough_hp with a trivial implementation
of compounds that will decode and call the requests sequencially.
[1] https://lore.kernel.org/linux-fsdevel/CAJfpegshcrjXJ0USZ8RRdBy=e0MxmBTJSCE0xnxG8LXgXy-xuQ@mail.gmail.com/
[2] https://github.com/libfuse/libfuse/pull/1418
Signed-off-by: Horst Birthelmer <hbirthelmer@....com>
---
Changes in v4:
- removed RFC
- removed the unnecessary 'parsed' variable in fuse_compound_req, since
we parse the result only once
- reordered the patches about the helper functions to fill in the fuse
args for open and getattr calls
- Link to v3: https://lore.kernel.org/r/20260108-fuse-compounds-upstream-v3-0-8dc91ebf3740@ddn.com
Changes in v3:
- simplified the data handling for compound commands
- remove the validating functionality, since it was only a helper for
development
- remove fuse_compound_request() and use fuse_simple_request()
- add helper functions for creating args for open and attr
- use the newly createn helper functions for arg creation for open and
getattr
- Link to v2: https://lore.kernel.org/r/20251223-fuse-compounds-upstream-v2-0-0f7b4451c85e@ddn.com
Changes in v2:
- fixed issues with error handling in the compounds as well as in the
open+getattr
- Link to v1: https://lore.kernel.org/r/20251223-fuse-compounds-upstream-v1-0-7bade663947b@ddn.com
---
Horst Birthelmer (3):
fuse: add compound command to combine multiple requests
fuse: create helper functions for filling in fuse args for open and getattr
fuse: add an implementation of open+getattr
fs/fuse/Makefile | 2 +-
fs/fuse/compound.c | 270 ++++++++++++++++++++++++++++++++++++++++++++++
fs/fuse/dir.c | 9 +-
fs/fuse/file.c | 152 +++++++++++++++++++++-----
fs/fuse/fuse_i.h | 27 ++++-
fs/fuse/inode.c | 6 ++
fs/fuse/ioctl.c | 2 +-
include/uapi/linux/fuse.h | 37 +++++++
8 files changed, 470 insertions(+), 35 deletions(-)
---
base-commit: 9448598b22c50c8a5bb77a9103e2d49f134c9578
change-id: 20251223-fuse-compounds-upstream-c85b4e39b3d3
Best regards,
--
Horst Birthelmer <hbirthelmer@....com>
Powered by blists - more mailing lists