Re: [PATCH v2 0/2] FUSE: Implement atomic lookup + open
From: Dharmendra Hans
Date: Tue Mar 29 2022 - 07:07:36 EST
On Tue, Mar 22, 2022 at 5:22 PM Dharmendra Singh <dharamhans87@xxxxxxxxx> wrote:
>
> In FUSE, as of now, uncached lookups are expensive over the wire.
> E.g additional latencies and stressing (meta data) servers from
> thousands of clients. These lookup calls possibly can be avoided
> in some cases. Incoming two patches addresses this issue.
>
> First patch handles the case where we open first time a file/dir or create
> a file (O_CREAT) but do a lookup first on it. After lookup is performed
> we make another call into libfuse to open the file. Now these two separate
> calls into libfuse can be combined and performed as a single call into
> libfuse.
>
> Second patch handles the case when we are opening an already existing file
> (positive dentry). Before this open call, we re-validate the inode and
> this re-validation does a lookup on the file and verify the inode.
> This separate lookup also can be avoided (for non-dir) and combined
> with open call into libfuse.
>
> Here is the link to the libfuse pull request which implements atomic open
> https://github.com/libfuse/libfuse/pull/644
>
> I am going to post performance results shortly.
>
>
> Dharmendra Singh (2):
> FUSE: Implement atomic lookup + open
> FUSE: Avoid lookup in d_revalidate()
A gentle reminder to look into the above patch set.