]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: change _do_omap_clear() args
authorSage Weil <sage@redhat.com>
Tue, 23 Jul 2019 21:23:08 +0000 (16:23 -0500)
committerSage Weil <sage@redhat.com>
Tue, 30 Jul 2019 02:23:34 +0000 (21:23 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 36099baf0f0426de26bf4a225ecc633675783449..ce0748f72a096c2a2b8c81ec03c8e8eab2a17a56 100644 (file)
@@ -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()) {
index 32ead8a614af5a867d1961fa5369df6706ebfff5..64721bf73f864ee2f72e98b5091e192ccb00cb8f 100644 (file)
@@ -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);