[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120105535.13374-1-luis@igalia.com>
Date: Thu, 20 Nov 2025 10:55:32 +0000
From: Luis Henriques <luis@...lia.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: Amir Goldstein <amir73il@...il.com>,
"Darrick J. Wong" <djwong@...nel.org>,
Bernd Schubert <bschubert@....com>,
Kevin Chen <kchen@....com>,
Horst Birthelmer <hbirthelmer@....com>,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
Matt Harvey <mharvey@...ptrading.com>,
kernel-dev@...lia.com,
Luis Henriques <luis@...lia.com>
Subject: [RFC PATCH v1 0/3] fuse: LOOKUP_HANDLE operation
Hi!
In the scope of a wider project -- that of being able to restart a FUSE
server -- it has been already identified some time ago that one of the
missing pieces is the FUSE_LOOKUP_HANDLE operation. For context, please
see [0] and [1].
I've been playing a bit with this operation implementation, and I decided to
share a very early (and not particularly neat) draft of it. Because it
needs to touch several different areas, it's quite possible that I'm doing
it totally wrong and some early feedback would be great to help me fixing
that. Also, please note that this patchset isn't complete, there are
several things still missing. For example, handling compat is missing.
Also, I haven't tried to include the optimisation suggested by Amir[2], to
use a trick similar to the one used by fanotify_fid_event so that the fuse
inodes could inline small file handles.
I'm not sharing (yet) the user-space I've used along with this patchset, as
it's probably not relevant at this stage. Also note that this is barely
tested, and the nfs-related changes in particular (export_operations) are
not tested _at_all_.
Anyway, I hope this RFC can be used to support the discussion I started with
the thread already mentioned above [0].
(And by the way, I understand there's probably a lot of useful information
in the two threads [0] and [1] that is missing in the patches descriptions.)
Cheers,
--
Luis
[0] https://lore.kernel.org/all/8734afp0ct.fsf@igalia.com
[1] https://lore.kernel.org/all/CAJfpegvNZ6Z7uhuTdQ6quBaTOYNkAP8W_4yUY4L2JRAEKxEwOQ@mail.gmail.com
[2] https://lore.kernel.org/all/CAOQ4uxjZ0B5TwV+HiWsUpBuFuZJZ_e4Bm_QfNn4crDoVAfkA9Q@mail.gmail.com
Luis Henriques (3):
fuse: initial infrastructure for FUSE_LOOKUP_HANDLE support
fuse: move fuse_entry_out structs out of the stack
fuse: implementation of the FUSE_LOOKUP_HANDLE operation
fs/fuse/dev.c | 1 +
fs/fuse/dir.c | 202 ++++++++++++++++++++++++++------------
fs/fuse/fuse_i.h | 45 ++++++++-
fs/fuse/inode.c | 164 +++++++++++++++++++++++++++----
fs/fuse/readdir.c | 10 +-
include/uapi/linux/fuse.h | 16 ++-
6 files changed, 348 insertions(+), 90 deletions(-)
Powered by blists - more mailing lists