[PATCH] dcookies.c: use proper refcounting functions
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 8 Jul 2005 00:57:29 +0000 (17:57 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 8 Jul 2005 01:23:52 +0000 (18:23 -0700)
Dcookies shouldn't play with the internals of dentry and vfsmnt
refcounting.  It defeats grepping, and is prone to break if implementation
details change.

In addition the function doesn't even seem to be performance critical: it
calls kmem_cache_alloc().

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/dcookies.c

index 581aac959cd3a71f8f675909432fb5defdbe4ed9..02aa0ddc582a6a169fe855883cf069923e63bb74 100644 (file)
@@ -94,12 +94,10 @@ static struct dcookie_struct * alloc_dcookie(struct dentry * dentry,
        if (!dcs)
                return NULL;
 
-       atomic_inc(&dentry->d_count);
-       atomic_inc(&vfsmnt->mnt_count);
        dentry->d_cookie = dcs;
 
-       dcs->dentry = dentry;
-       dcs->vfsmnt = vfsmnt;
+       dcs->dentry = dget(dentry);
+       dcs->vfsmnt = mntget(vfsmnt);
        hash_dcookie(dcs);
 
        return dcs;