[RFC PATCH v2 0/1] fuse: restructure requests extensions handling

From: Luis Henriques

Date: Thu Mar 19 2026 - 11:08:38 EST


Hi!

I'm sending v2 of this patch after finding an issue with function
fuse_free_ext(). The issue was that this function was freeing the ->value
for all the ext args, which isn't what I wanted -- now it only frees it for
FUSE_EXT_GROUPS extentions. While there, I've also added back the
immediate return if there are no extensions.

And for reference, here's the origin text from v1:

This patch was going to be included in the lookup_handle patchset. But
since it is self-contained and it can eventually be picked independently,
I've decided to send it as a separate RFC.

It basically re-implements the idea of extensions, making it easier to add
new ones: a extension can be simply added to the 'ext_args' array in
fuse_args.


Luis Henriques (1):
fuse: restructure requests extensions handling

fs/fuse/dev.c | 35 ++++++++++++++-
fs/fuse/dir.c | 108 ++++++++++++++++++++++-------------------------
fs/fuse/fuse_i.h | 11 ++++-
3 files changed, 93 insertions(+), 61 deletions(-)