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.