Skip to content

fuse: add lookupx support#152

Open
cding-ddn wants to merge 1 commit into
DDNStorage:redfs-ubuntu-noble-6.8.0-58.60from
cding-ddn:lookup_ext-noble-6.8.0-58.60
Open

fuse: add lookupx support#152
cding-ddn wants to merge 1 commit into
DDNStorage:redfs-ubuntu-noble-6.8.0-58.60from
cding-ddn:lookup_ext-noble-6.8.0-58.60

Conversation

@cding-ddn
Copy link
Copy Markdown
Collaborator

@cding-ddn cding-ddn commented May 20, 2026

This is an extended version of lookup that supports additional flags and returns attributes with valid masks via fuse_reply_lookupx.

This allows the fuse server to use a weaker locking mode for lookup operations and helps with the mdtest hard write benchmark.

@cding-ddn cding-ddn requested review from bsbernd, hbirth and yongzech May 20, 2026 06:32
@hbirth
Copy link
Copy Markdown
Collaborator

hbirth commented May 20, 2026

I'm really hesitant about this ... why do we need another LOOKUP call?

@bsbernd
Copy link
Copy Markdown
Collaborator

bsbernd commented May 20, 2026

@cding-ddn Can you please explain in the commit message or anywhere else what is the purpose? I think we need a generic discussion here - just extending the fuse protocol with things that can never go upstream a really not a good idea. I would suggest to first explain the problem the problem somewhere and then we find a solution that can go at some point upstream.

@cding-ddn cding-ddn force-pushed the lookup_ext-noble-6.8.0-58.60 branch from aa81b47 to a130b3f Compare May 21, 2026 09:07
hbirth
hbirth previously approved these changes May 21, 2026
Copy link
Copy Markdown
Collaborator

@hbirth hbirth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it solves our current problem ... I'm fine with it
It makes lookup somewhat weird, but we have to do, what has to be done

Comment thread fs/fuse/dir.c Outdated
Comment thread fs/fuse/dir.c Outdated
@cding-ddn cding-ddn changed the title fuse: add lookup_ext support fuse: add lookupx support May 21, 2026
This is an extended version of lookup that supports additional flags
and returns attributes with valid masks via fuse_reply_lookupx.
@cding-ddn cding-ddn force-pushed the lookup_ext-noble-6.8.0-58.60 branch from a130b3f to f6f266d Compare May 21, 2026 11:43
Copy link
Copy Markdown
Collaborator

@hbirth hbirth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restricting to revalidate makes it better

Comment thread fs/fuse/dir.c
ATTR_TIMEOUT(&ext_out.entry),
attr_version);
fuse_change_entry_timeout(entry, &outarg);
fuse_change_entry_timeout(entry, &ext_out.entry);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this need the same logic as in my PR - when fuse-server does not reply all attr, the timeout must not be extended?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants