Re: [RFC][PATCHSET v3] non-recursive pathname resolution & RCU symlinks

From: Al Viro
Date: Fri May 15 2015 - 21:56:01 EST


On Fri, May 15, 2015 at 06:47:04PM -0700, Linus Torvalds wrote:

> Now, maybe we could solve it with a new sleeping lock in the dentry
> itself. Maybe we could allocate the new dentry early, add it to the
> directory the usual way, but mark it as being "not ready" (so that
> d_lookup() wouldn't use it). And have the sleeping lock be a new
> sleeping lock in the dentry.

See upthread. It might be doable (provided that we turn ->i_mutex into
rwsem, to keep the exclusion with directory _modifiers_), but it'll need
a really non-trivial code review of a bunch of filesystems, especially ones
that want to play with the list of children like ceph does. And things
like sillyrename and dcache-populating readdir instances, albeit not as scary
as ceph. And then there's lustre...
--
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/