![]() | |||||||||||||
Messages in this thread |
On Tue, 2003-08-05 at 21:28, Maneesh Soni wrote: > Sorry, I don't think it is correct. This code is called under dcache_lock, > taken in is_tree_busy(). mntput() calls dput() and which can lead to deadlock. Urk. On the other hand, it only calls dput if the refcount drops to zero, which it can't because there's already a reference (hence the -2 in is_vfsmnt_tree_busy). I'm not too keen on releasing dcache lock, since the whole point is to keep the dcache tree stable while we traverse it. > @@ -71,7 +74,8 @@ static int check_vfsmnt(struct vfsmount > struct vfsmount *vfs = lookup_mnt(mnt, dentry); > > if (vfs && is_vfsmnt_tree_busy(vfs)) > - ret--; > + ret = 0; Erm, why? J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 13:47 [from the cache] ©2003-2008 | |||||||||||||