Re: [PATCH 1/7] vfs - merge path_is_mountpoint() and path_is_mountpoint_rcu()

From: Al Viro
Date: Sat Dec 03 2016 - 18:29:20 EST


On Sat, Dec 03, 2016 at 05:13:22AM +0000, Al Viro wrote:
> * path_has_submounts() is broken. At the very least, it's
> AB-BA between mount_lock and rename_lock. I would suggest trying to
> put read_seqlock_excl(&mount_lock) around the call of d_walk() in there,
> and using __lookup_mnt() in the callback (without retries on the mount_lock,
> of course - read_seqlock_excl done on the outside is enough). I'm not sure
> if it won't cause trouble with contention, though; that needs testing. As
> it is, that function is broken in #work.autofs, same as it is in -mm and
> -next.

Fix for path_has_submounts() (as above) force-pushed. It does
need testing and profiling, obviously.