Re: mnt_count accounting broken

From: Tigran Aivazian (tigran@veritas.com)
Date: Fri May 05 2000 - 12:12:28 EST


Hi,

Here is the patch that fixes the problem. But I still want to understand
why Linus put those extra dget/dput in mknod/link/unlink... perhaps they
are needed after all.

I re-attached my log so Linus could see what we are talking about.

Regards.
Tigran

--- linux/fs/ramfs/inode.c Thu Apr 27 09:01:30 2000
+++ work/fs/ramfs/inode.c Fri May 5 18:11:16 2000
@@ -154,7 +154,7 @@
 
         if (inode) {
                 d_instantiate(dentry, inode);
- dget(dentry); /* Extra count - pin the dentry in core */
+ /* dget(dentry); */ /* Extra count - pin the dentry in core */
                 error = 0;
         }
         return error;
@@ -182,7 +182,7 @@
 
         inode->i_nlink++;
         inode->i_count++; /* New dentry reference */
- dget(dentry); /* Extra pinning count for the created dentry */
+ /* dget(dentry);*/ /* Extra pinning count for the created dentry */
         d_instantiate(dentry, inode);
         return 0;
 }
@@ -226,7 +226,7 @@
                 struct inode *inode = dentry->d_inode;
 
                 inode->i_nlink--;
- dput(dentry); /* Undo the count from "create" - this does all the work */
+ /* dput(dentry);*/ /* Undo the count from "create" - this does all the work */
                 d_delete(dentry);
                 retval = 0;
         }



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:18 EST