public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/8] fuse: LOOKUP_HANDLE operation
@ 2026-02-25 11:24 Luis Henriques
  2026-02-25 11:24 ` [RFC PATCH v3 1/8] fuse: simplify fuse_lookup_name() interface Luis Henriques
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Luis Henriques @ 2026-02-25 11:24 UTC (permalink / raw)
  To: Miklos Szeredi, Amir Goldstein, Bernd Schubert, Bernd Schubert,
	Darrick J. Wong, Horst Birthelmer, Joanne Koong, Kevin Chen
  Cc: linux-fsdevel, linux-kernel, Matt Harvey, kernel-dev,
	Luis Henriques

Hi,

I'm sending a new version of my work on lookup_handle, even though it's
still incomplete.  As suggested elsewhere, it is now based on compound
commands and thus it sits on top of Horst's patchset [0].  Also, because
this version is a complete re-write of the approach presented in my previous
RFC [1] I'm not going to detail what changed.

Here's a few notes:

- The code isn't yet fully testable as there are several pieces missing.
  For example, the FUSE_TMPFILE and FUSE_READDIRPLUS operations are not yet
  implemented.  The NFS-related changes have also been dropped in this
  revision.

- There are several details still to be sorted out in the compound
  operations.  For example, the nodeid for the statx operation in the
  lookup+statx is set to FUSE_ROOT_ID.

- The second operation (mkobj_handle+statx+open) is still draft (or maybe
  just wrong!).  It's not handling flags correctly, and the error handling
  has to be better thought out.

- Some of the patches in this set could probably be picked independently
  (e.g. patch 4 or even patch 1)

So, why am I sending this broken and incomplete patchset?  Well, simply
because I'd feel more confidence getting this approach validated.  I don't
expect any through review, but I would appreciate feedback on anything that
would help me correct major flaws.

[0] https://lore.kernel.org/all/20260210-fuse-compounds-upstream-v5-0-ea0585f62daa@ddn.com
[1] https://lore.kernel.org/all/20251212181254.59365-1-luis@igalia.com

Cheers,
-- 
Luis

Luis Henriques (8):
  fuse: simplify fuse_lookup_name() interface
  fuse: export extend_arg() and factor out fuse_ext_size()
  fuse: store index of the variable length argument
  fuse: drop unnecessary argument from fuse_lookup_init()
  fuse: extract helper functions from fuse_do_statx()
  fuse: implementation of lookup_handle+statx compound operation
  fuse: export fuse_open_args_fill() helper function
  fuse: implementation of mkobj_handle+statx+open compound operation

 fs/fuse/compound.c        |   1 +
 fs/fuse/cuse.c            |   1 +
 fs/fuse/dev.c             |   4 +-
 fs/fuse/dir.c             | 650 +++++++++++++++++++++++++++++++++-----
 fs/fuse/file.c            |   3 +-
 fs/fuse/fuse_i.h          |  42 ++-
 fs/fuse/inode.c           |  50 ++-
 fs/fuse/ioctl.c           |   1 +
 fs/fuse/readdir.c         |   2 +-
 fs/fuse/virtio_fs.c       |   6 +-
 fs/fuse/xattr.c           |   2 +
 include/uapi/linux/fuse.h |  25 +-
 12 files changed, 679 insertions(+), 108 deletions(-)


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2026-02-28 14:50 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 11:24 [RFC PATCH v3 0/8] fuse: LOOKUP_HANDLE operation Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 1/8] fuse: simplify fuse_lookup_name() interface Luis Henriques
2026-02-27 15:46   ` Miklos Szeredi
2026-02-28 14:42     ` Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 2/8] fuse: export extend_arg() and factor out fuse_ext_size() Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 3/8] fuse: store index of the variable length argument Luis Henriques
2026-02-27 15:41   ` Miklos Szeredi
2026-02-28 14:50     ` Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 4/8] fuse: drop unnecessary argument from fuse_lookup_init() Luis Henriques
2026-02-27 15:57   ` Miklos Szeredi
2026-02-25 11:24 ` [RFC PATCH v3 5/8] fuse: extract helper functions from fuse_do_statx() Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 6/8] fuse: implementation of lookup_handle+statx compound operation Luis Henriques
2026-02-25 18:06   ` Amir Goldstein
2026-02-26  9:54     ` Luis Henriques
2026-02-26 10:08       ` Amir Goldstein
2026-02-26 10:29         ` Miklos Szeredi
2026-02-26 15:06           ` Luis Henriques
2026-02-26 15:44             ` Miklos Szeredi
2026-02-26 16:17               ` Luis Henriques
2026-02-26 10:33         ` Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 7/8] fuse: export fuse_open_args_fill() helper function Luis Henriques
2026-02-25 11:24 ` [RFC PATCH v3 8/8] fuse: implementation of mkobj_handle+statx+open compound operation Luis Henriques
2026-02-25 15:08   ` Horst Birthelmer
2026-02-25 17:26     ` Luis Henriques
2026-02-25 15:14 ` [RFC PATCH v3 0/8] fuse: LOOKUP_HANDLE operation Horst Birthelmer
2026-02-25 17:06   ` Luis Henriques

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox