From 1ea930667e6d9864ed55f6f44fae27f14636a460 Mon Sep 17 00:00:00 2001 From: sepia-liu Date: Tue, 20 Oct 2020 09:24:57 +0000 Subject: [PATCH] client: fix inode ll_ref reference count leak Fixes: https://tracker.ceph.com/issues/47918 Signed-off-by: sepia-liu (cherry picked from commit 019ba52c8f3ba8263b67b4d1a3bfd6d20e98eeda) --- src/client/Client.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 57295f19aba4c..4e11ae0524618 100755 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -6423,9 +6423,7 @@ int Client::_lookup(Inode *dir, const string& dname, int mask, InodeRef *target, int r = make_request(req, perms, &tmptarget, NULL, rand() % mdsmap->get_num_in_mds()); if (r == 0) { - Inode *tempino = tmptarget.get(); - _ll_get(tempino); - *target = tempino; + *target = std::move(tmptarget); ldout(cct, 8) << __func__ << " found target " << (*target)->ino << dendl; } else { *target = dir; -- 2.39.5