Thread (51 messages) 51 messages, 10 authors, 2016-03-20

Re: aio openat Re: [PATCH 07/13] aio: enabled thread based async fsync

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-03-20 02:03:25
Also in: linux-fsdevel, linux-mm, lkml

On Sat, Mar 19, 2016 at 6:55 PM, Al Viro [off-list ref] wrote:
What would make unlazy_walk() fail?  And if it succeeds, you are not
in RCU mode anymore *without* restarting from scratch...
I don't see your point.

You don't want to be in RCU mode any more. You want to either succeed
or fail with ECHILD/ESTALE. Then, in the failure case, you go to the
thread.

What I meant by restarting was the restart that do_filp_open() does,
and there it just restarts with "op->lookup_flags", which has
RCU_LOOKUP still set, so it would just try to do the RCU lookup again.

But I actually notice now that Ben actually disabled that restart if
LOOKUP_RCU was set, so that ends up not even happening.

Anyway, I'm not saying it's polished and pretty. I think the changes
to do_filp_open() are a bit silly, and the code should just use
path_openat() directly. Possibly using a new helper (ie perhaps just
introduce a "rcu_filp_openat()" thing). But from a design perspective,
I think this all looks fine.

              Linus

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org.  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help