On Mon, 08 Jun 2009 11:25:37 +0800 Ian Kent <[email protected]> wrote:

> The recent ->lookup() deadlock correction required the directory
> inode mutex to be dropped while waiting for expire completion. We
> were concerned about side effects from this change and one has
> been identified.
> 
> When checking if a mount has already completed prior to adding a
> new mount request to the wait queue we check if the dentry is hashed
> and, if so, if it is a mount point. But, if a mount successfully
> completed while we slept on the wait queue mutex the dentry must
> exist for the mount to have completed so the test is not really
> needed.
> 
> Mounts can also be done on top of a global root dentry, so for the
> above case, where a mount request completes and the wait queue entry
> has already been removed, the hashed test returning false can cause
> an incorrect callback to the daemon. Also, d_mountpoint() is not
> sufficient to check if a mount has completed for the multi-mount
> case when we don't have a real mount at the base of the tree.
> 

I've been scratching my head trying to work out if this is a
needed-in-2.6.30 fix, but all I got was a bald spot.  Help?

_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to