]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commitdiff
debug iget/igrab/iput historic/wip-debug-inode-refs
authorSage Weil <sage@newdream.net>
Wed, 2 Nov 2011 14:11:46 +0000 (07:11 -0700)
committerSage Weil <sage@newdream.net>
Wed, 2 Nov 2011 14:11:46 +0000 (07:11 -0700)
fs/inode.c

index ec7924696a139870c70a0971c8d2d1483a747ade..752b46d9966460d57571ee609022f0825636753d 100644 (file)
@@ -314,6 +314,13 @@ static void init_once(void *foo)
  */
 void __iget(struct inode *inode)
 {
+       if (inode->i_sb &&
+           inode->i_sb->s_type && 
+           inode->i_sb->s_type->name &&
+           inode->i_sb->s_type->name[0] == 'c')
+               printk("iget %p %d -> %d\n", inode,
+                      atomic_read(&inode->i_count), 
+                      atomic_read(&inode->i_count)+1);
        atomic_inc(&inode->i_count);
 }
 
@@ -322,6 +329,13 @@ void __iget(struct inode *inode)
  */
 void ihold(struct inode *inode)
 {
+       if (inode->i_sb &&
+           inode->i_sb->s_type && 
+           inode->i_sb->s_type->name &&
+           inode->i_sb->s_type->name[0] == 'c')
+               printk("ihold %p %d -> %d\n", inode,
+                      atomic_read(&inode->i_count), 
+                      atomic_read(&inode->i_count)+1);
        WARN_ON(atomic_inc_return(&inode->i_count) < 2);
 }
 EXPORT_SYMBOL(ihold);
@@ -1358,6 +1372,13 @@ void iput(struct inode *inode)
        if (inode) {
                BUG_ON(inode->i_state & I_CLEAR);
 
+               if (inode->i_sb &&
+                   inode->i_sb->s_type && 
+                   inode->i_sb->s_type->name &&
+                   inode->i_sb->s_type->name[0] == 'c')
+                       printk("iput %p %d -> %d\n", inode,
+                              atomic_read(&inode->i_count), 
+                              atomic_read(&inode->i_count)-1);
                if (atomic_dec_and_lock(&inode->i_count, &inode->i_lock))
                        iput_final(inode);
        }