On Tue, Mar 29, 2022 at 4:37 PM Dharmendra Hans <dharamhans87@xxxxxxxxx> wrote: > > 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. Sending a gentle reminder again to look into the requested patches.