mirror of
https://github.com/ceph/ceph
synced 2025-02-23 11:07:35 +00:00
os/bluestore: fix lack of blob unshare if 'root' onode is not present
in cache. Signed-off-by: Igor Fedotov <ifedotov@suse.com>
This commit is contained in:
parent
2e9a804d9e
commit
7801dc2909
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user