On Fri, Nov 20, 2020 at 11:35 PM Ken Schalk <kschalk@xxxxxxxxxx> wrote: > > When a dentry exists for the path argument to an open with O_CREAT or > a negative dentry exists for the path argument to any open, make a > lookup request to the user-space daemon to verify the > existence/non-existence of the path. > > This improves file open behavior for a FUSE filesystem where changes > may be made without going through the mount point, such as a > distributed filesystem accessed concurrently from multiple hosts. > Specifically: > > - For an open with O_CREAT of a path with a cached dentry, the > user-space daemon is able to report a recent unlink of a file > allowing it to be re-created rather than either the open failing > with EEXIST (when O_EXCL is used) or a FUSE open request causing the > open to fail with ENOENT (when O_EXCL is not used). > > - For an open of a path with a cached negative dentry, the user-space > daemon is able to report the recent creation of a file allowing it > to be opened rather than the open failing with ENOENT. > > This is intended to be functionally equivalent to behavior in the NFS > client which re-validates a cached dentry on file open. You haven't replied to this: https://lore.kernel.org/linux-fsdevel/CAJfpegv5EckmJ_PCqHc2N3_jHaXfinMwvDNSttYNXcan1wr1fQ@xxxxxxxxxxxxxx/ Thanks, Miklos