]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: fixed do_lookup dentry refcount problem
authorSage Weil <sage@newdream.net>
Tue, 29 Apr 2008 19:32:10 +0000 (12:32 -0700)
committerSage Weil <sage@newdream.net>
Tue, 29 Apr 2008 19:32:10 +0000 (12:32 -0700)
src/kernel/dir.c

index 85904fb740447e1ee4970d0e04424e0a93c2c7b3..377bc80a5cec042edf8bfcdf9092be6e6aef555c 100644 (file)
@@ -72,8 +72,8 @@ retry:
                goto retry;
        }
 
-       dout(10, "build_path_dentry on %p build '%.*s'\n",
-            dentry, len, path);
+       dout(10, "build_path_dentry on %p %d build '%.*s'\n",
+            dentry, atomic_read(&dentry->d_count), len, path);
        *plen = len;
        return path;
 }
@@ -280,8 +280,11 @@ struct dentry *ceph_do_lookup(struct super_block *sb, struct dentry *dentry,
                err = 0;
        } else if (err)
                dentry = ERR_PTR(err);
+       else
+               dentry = 0;
        ceph_mdsc_put_request(req);  /* will dput(dentry) */
-       dout(20, "do_lookup result=%p\n", dentry);
+       dout(20, "do_lookup result=%p %d\n", dentry,
+            dentry ? atomic_read(&dentry->d_count):0);
        return dentry;
 }