Messages in this thread | | | Subject | Re: namei.c LOOKUP_NONBLOCK (was "Re: [GIT PULL] io_uring fixes for 5.10-rc") | From | Jens Axboe <> | Date | Thu, 10 Dec 2020 12:21:28 -0700 |
| |
On 12/10/20 11:55 AM, Linus Torvalds wrote: > On Thu, Dec 10, 2020 at 9:32 AM Jens Axboe <axboe@kernel.dk> 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.
Agree, would probably make more sense as __unlazy_walk -> complete_walk_rcu(), which then also falls out naturally from complete_walk() being the sole caller of that.
> 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?
Sure, enabling cached opens from userspace through regular openat2(). Let's wrap up this one first though, that needs to be a separate patch anyway. I'll follow up with that once this is in.
-- Jens Axboe
| |