From 7801dc290987700717896346f550f7d52a5ef860 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Thu, 8 Oct 2020 21:54:21 +0300 Subject: [PATCH] os/bluestore: fix lack of blob unshare if 'root' onode is not present in cache. Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 00c65877b338..7cf4e6641aa8 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -13786,7 +13786,7 @@ void BlueStore::_wctx_finish( auto& r = lo.r; txc->statfs_delta.stored() -= lo.e.length; if (!r.empty()) { - dout(20) << __func__ << " blob release " << r << dendl; + dout(20) << __func__ << " blob " << *b << " release " << r << dendl; if (blob.is_shared()) { PExtentVector final; c->load_shared_blob(b->shared_blob); @@ -14319,7 +14319,7 @@ int BlueStore::_do_remove( << maybe_unshared_blobs << dendl; ghobject_t nogen = o->oid; nogen.generation = ghobject_t::NO_GEN; - OnodeRef h = c->onode_map.lookup(nogen); + OnodeRef h = c->get_onode(nogen, false); if (!h || !h->exists) { return 0; -- 2.47.3