Re: [rfc][possible solution] RCU vfsmounts

From: Al Viro
Date: Sun Sep 29 2013 - 02:06:34 EST


On Sat, Sep 28, 2013 at 01:43:49PM -0700, Linus Torvalds wrote:

> Sounds reasonable to to me.

Sigh... Looks like there's a lot of fun in shrink_dcache_for_umount() -
at the very least, it needs to bump ->d_seq on everything, because with
that change we *can* walk into a filesystem in the middle of that.
We obviously don't want to slap rcu_barrier() into the final mntput() -
it's far too costly; even one in deactivate_locked_super() (in the
wrong place and gone since a while back) had been causing problems.

Moreover, any filesystem that has e.g. ->d_hash() use an object hanging
off private data of superblock and freed by its ->kill_sb() before
generic_shutdown_super() will have an additional set of PITA; there
shouldn't be many of those, though.

Oh, well - this is going to be a fun series, by the look of it...
--
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/