[PATCH RFC v3 0/3] fuse: compound commands

horst@birthelmer.com posted 3 patches 1 month ago
There is a newer version of this series
fs/fuse/Makefile          |   2 +-
fs/fuse/compound.c        | 276 ++++++++++++++++++++++++++++++++++++++++++++++
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, 476 insertions(+), 35 deletions(-)
[PATCH RFC v3 0/3] fuse: compound commands
Posted by horst@birthelmer.com 1 month ago
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).
    
[1] https://lore.kernel.org/linux-fsdevel/CAJfpegshcrjXJ0USZ8RRdBy=e0MxmBTJSCE0xnxG8LXgXy-xuQ@mail.gmail.com/

Signed-off-by: Horst Birthelmer <hbirthelmer@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: add an implementation of open+getattr
      fuse: use the newly created helper functions

 fs/fuse/Makefile          |   2 +-
 fs/fuse/compound.c        | 276 ++++++++++++++++++++++++++++++++++++++++++++++
 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, 476 insertions(+), 35 deletions(-)
---
base-commit: 9448598b22c50c8a5bb77a9103e2d49f134c9578
change-id: 20251223-fuse-compounds-upstream-c85b4e39b3d3

Best regards,
-- 
Horst Birthelmer <hbirthelmer@ddn.com>