On Thu, Dec 10, 2020 at 9:32 AM Jens Axboe <axboe@xxxxxxxxx> wrote: > > Here's a potentially better attempt - basically we allow LOOKUP_NONBLOCK > with LOOKUP_RCU, and if we end up dropping LOOKUP_RCU, then we generally > return -EAGAIN if LOOKUP_NONBLOCK is set as we can no longer guarantee > that we won't block. Looks sane to me. I don't love the "__unlazy_walk vs unlazy_walk" naming - I think it needs to be more clear about what the difference is, but I think the basic patch looks sane, and looks about as big as I would have expected it to be. But yes, I'll leave it to Al. And if we do this - and I think we should - I'd also love to see a new flag in 'struct open_how' to openat2(), even if it's only to enable tests. RESOLVE_NONBLOCK? Linus