Re: [autofs] [PATCH 04/38] autofs4: Save autofs trigger's vfsmount in super block info

From: J. R. Okajima
Date: Tue Jun 22 2010 - 22:18:27 EST



Ian Kent:
> I may be missing something about this, but why is it safe to use
> iterate_mounts(), since it doesn't take the vfsmount_lock when
> traversing the list of mounts?

The sample code was not correct.
We need to acquire vfsmount_lock or down_read(namespace_sem).

Or it may be better to extract the body of iterate_mounts() and create a
new function __iterate_mounts() such like that.

__iterate_mounts()
{
/* equiv to the current iterate_mounts */
}

iterate_mount()
{
down_read(namespace_sem);
or spin_lock(&vfsmount_lock);

__iterate_mount();

spin_unlock(&vfsmount_lock);
or up_read(namespace_sem);
}


J. R. Okajima
--
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/