On Wed, 2010-06-23 at 11:07 +0900, J. R. Okajima wrote: > 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); > } Yep, thought so. That's a useful enough function to warrant that IMHO. I'll continue checking its usages before I do it though. Ian -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html