On 12/26/20 10:58 AM, Matthew Wilcox wrote: > On Sat, Dec 26, 2020 at 10:33:25AM -0700, Jens Axboe wrote: >> +.TP >> +.B RESOLVE_CACHED >> +Make the open operation fail unless all path components are already present >> +in the kernels lookup cache. >> +If any kind of revalidation or IO is needed to satisfy the lookup, > > Usually spelled I/O in manpages. Changed, thanks! >> +.BR openat2 () >> +fails with the error >> +.B EAGAIN. >> +This is useful in providing a fast path open that can be performed without >> +resorting to thread offload, or other mechanism that an application might >> +use to offload slower operations. > > That almost reads backwards ... how about this? > > This provides a fast path open that can be used when an application does > not wish to block. It allows the application to hand off the lookup to > a separate thread which can block. I deliberately did not want to include anything about blocking, would prefer to just keep it about having the necessary data/state cached. -- Jens Axboe