![]() | |||||||||||||
Messages in this thread |
On Tue, Aug 05, 2003 at 10:08:48PM -0700, Andrew Morton wrote:
> Maneesh Soni <maneesh@in.ibm.com> wrote:
> >
> > + if (vfs) {
> > + if (is_vfsmnt_tree_busy(vfs))
> > + ret--;
> > + /* just to reduce ref count taken in lookup_mnt
> > + * cannot call mntput() here
> > + */
> > + atomic_dec(&vfs->mnt_count);
> > + }
>
> Doesn't work, does it? If someone else does a mntput() just beforehand,
> __mntput() never gets run.
>
no.. it will not work. looks like we have to unlock and lock dcache_lock and
use mntput as I did earlier. But I think, it will be really nice if Jermey
can revisit is_tree_busy() code.
There can be other problems like the checking d_count for dentries under
dcache_lock(). As users can do dget() or dput() manipulating d_count without
dcache_lock().
Maneesh
--
Maneesh Soni
IBM Linux Technology Center,
IBM India Software Lab, Bangalore.
Phone: +91-80-5044999 email: maneesh@in.ibm.com
http://lse.sourceforge.net/
-
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 | |||||||||||||