Hi, Wanted to throw out what the current state of this is, as we keep getting closer to something palatable. This time I've included the io_uring change too. I've tested this through both openat2, and through io_uring as well. I'm pretty happy with this at this point. The core change is very simple, and the users end up being trivial too. Also available here: https://git.kernel.dk/cgit/linux-block/log/?h=nonblock-path-lookup Changes since v2: - Simplify the LOOKUP_NONBLOCK to _just_ cover LOOKUP_RCU and lookup_fast(), as per Linus's suggestion. I verified fast path operations are indeed just that, and it avoids having to mess with the inode lock and mnt_want_write() completely. - Make O_TMPFILE return -EAGAIN for LOOKUP_NONBLOCK. - Improve/add a few comments. - Folded what was left of the open part of LOOKUP_NONBLOCK into the main patch. -- Jens Axboe