From: Sage Weil Date: Tue, 23 Jul 2019 21:23:08 +0000 (-0500) Subject: os/bluestore: change _do_omap_clear() args X-Git-Tag: v15.1.0~1915^2~23 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5635e88097a7e39eb19d890faa079ce4f5915a8a;p=ceph-ci.git os/bluestore: change _do_omap_clear() args Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 36099baf0f0..ce0748f72a0 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -12908,9 +12908,7 @@ int BlueStore::_do_remove( _do_truncate(txc, c, o, 0, is_gen ? &maybe_unshared_blobs : nullptr); if (o->onode.has_omap()) { o->flush(); - _do_omap_clear(txc, - o->onode.is_pgmeta_omap() ? PREFIX_PGMETA_OMAP : PREFIX_OMAP, - o->onode.nid); + _do_omap_clear(txc, o); } o->exists = false; string key; @@ -13105,9 +13103,11 @@ int BlueStore::_rmattrs(TransContext *txc, return r; } -void BlueStore::_do_omap_clear(TransContext *txc, const string& omap_prefix, - uint64_t id) +void BlueStore::_do_omap_clear(TransContext *txc, OnodeRef& o) { + const string& omap_prefix = o->onode.is_pgmeta_omap() ? PREFIX_PGMETA_OMAP + : PREFIX_OMAP; + const uint64_t id = o->onode.nid; string prefix, tail; get_omap_header(id, &prefix); get_omap_tail(id, &tail); @@ -13126,9 +13126,7 @@ int BlueStore::_omap_clear(TransContext *txc, int r = 0; if (o->onode.has_omap()) { o->flush(); - _do_omap_clear(txc, - o->onode.is_pgmeta_omap() ? PREFIX_PGMETA_OMAP : PREFIX_OMAP, - o->onode.nid); + _do_omap_clear(txc, o); o->onode.clear_omap_flag(); txc->write_onode(o); } @@ -13346,10 +13344,7 @@ int BlueStore::_clone(TransContext *txc, if (newo->onode.has_omap()) { dout(20) << __func__ << " clearing old omap data" << dendl; newo->flush(); - _do_omap_clear(txc, - newo->onode.is_pgmeta_omap() ? PREFIX_PGMETA_OMAP - : PREFIX_OMAP, - newo->onode.nid); + _do_omap_clear(txc, newo); newo->onode.clear_omap_flag(); } if (oldo->onode.has_omap()) { diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 32ead8a614a..64721bf73f8 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -2823,7 +2823,7 @@ private: int _rmattrs(TransContext *txc, CollectionRef& c, OnodeRef& o); - void _do_omap_clear(TransContext *txc, const string& prefix, uint64_t id); + void _do_omap_clear(TransContext *txc, OnodeRef &o); int _omap_clear(TransContext *txc, CollectionRef& c, OnodeRef& o);