From 8e839e25f023aa2518fb34b9b17370b128edcb78 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh-Weinraub Date: Thu, 13 Mar 2008 15:20:30 +0200 Subject: [PATCH] client: fix crash when doing umount due to dentry count leak --- src/kernel/inode.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/kernel/inode.c b/src/kernel/inode.c index c70e51b1e80d8..f8d5a24f2fccb 100644 --- a/src/kernel/inode.c +++ b/src/kernel/inode.c @@ -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; -- 2.39.5