Re: [RFC][PATCHSET] non-recursive pathname resolution

From: Al Viro
Date: Sun May 10 2015 - 01:45:49 EST


On Wed, May 06, 2015 at 12:59:47AM +0100, Al Viro wrote:

> It is passing xfstests and LTP, plus some basic "create a twisted forest
> of symlinks and walk it" tests, but yes, it obviously needs more beating.
> I'll push everything up to #76 into -next tonight (with the changes you
> asked for).

[snip]

> AFAICS, the above should suffice, modulo teaching ->follow_link() instances
> to fail with ECHILD when called in RCU mode and then teaching some of them
> _not_ to. Note that fast symlinks would be fine without the last part and
> that covers most of the actual use...

FWIW, right now vfs.git#link_path_walk seems to be working and doing just
that - there's still some reordering to do in the new parts of queue, and
right now it's dropping out of RCU mode as soon as it runs into a non-trivial
symlink (== not a fast one), but the common case is handled without dropping
out of RCU mode until the very end. I'll do reordering tomorrow (along with
adding the missing documentation, etc.) and post the result for review, then
into -next it goes... Right now it's 107 commits on top of what already
went into mainline (1 from dhowells, 6 from neilb, the rest from me), so
it's going to be another patchbomb from hell ;-/

Missing bits: teaching ->follow_link() to try and remain in RCU mode (IMO
it should be getting (dentry, inode, &cookie) and have RCU mode indicated by
dentry == NULL), figuring out what to do with automounts (I really think
that ->d_automount() is worth offloading via schedule_work() or something
similar) and more testing/profiling/tuning the inlining/etc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/