]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: fix crash when doing umount due to dentry count leak
authorYehuda Sadeh-Weinraub <yehuda@yehuda.infit.com>
Thu, 13 Mar 2008 13:20:30 +0000 (15:20 +0200)
committerYehuda Sadeh-Weinraub <yehuda@yehuda.infit.com>
Thu, 13 Mar 2008 13:20:30 +0000 (15:20 +0200)
src/kernel/inode.c

index c70e51b1e80d87cbb3497a46aa344eef6342edb0..f8d5a24f2fccbedda0c662b39e737122b237115e 100644 (file)
@@ -252,8 +252,13 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req)
                                break;
                        }
                }
+               dput(parent);
        }
-       dput(parent);
+
+       if (req->r_last_dentry)
+               dput(req->r_last_dentry);
+       if (req->r_last_inode)
+               iput(req->r_last_inode);
 
        dout(10, "fill_trace done, last dn %p in %p\n", dn, in);
        req->r_last_dentry = dn;