]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: clear omap flags within _do_omap_clear() 44055/head
authorIgor Fedotov <ifed@suse.com>
Tue, 23 Nov 2021 01:42:28 +0000 (04:42 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Mon, 6 Dec 2021 10:44:35 +0000 (13:44 +0300)
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
src/os/bluestore/BlueStore.cc

index db213f5640f2002771278625a709899880ec42ee..dbecf48b7ab7d460ccd163b9b49f6f76c68d133e 100644 (file)
@@ -16044,6 +16044,7 @@ void BlueStore::_do_omap_clear(TransContext *txc, OnodeRef& o)
   o->get_omap_tail(&tail);
   txc->t->rm_range_keys(omap_prefix, prefix, tail);
   txc->t->rmkey(omap_prefix, tail);
+  o->onode.clear_omap_flag();
   dout(20) << __func__ << " remove range start: "
            << pretty_binary_string(prefix) << " end: "
            << pretty_binary_string(tail) << dendl;
@@ -16060,7 +16061,6 @@ int BlueStore::_omap_clear(TransContext *txc,
   if (o->onode.has_omap()) {
     o->flush();
     _do_omap_clear(txc, o);
-    o->onode.clear_omap_flag();
     txc->write_onode(o);
   }
   logger->tinc(l_bluestore_omap_clear_lat, mono_clock::now() - t0);
@@ -16276,7 +16276,6 @@ int BlueStore::_clone(TransContext *txc,
     dout(20) << __func__ << " clearing old omap data" << dendl;
     newo->flush();
     _do_omap_clear(txc, newo);
-    newo->onode.clear_omap_flag();
   }
   if (oldo->onode.has_omap()) {
     dout(20) << __func__ << " copying omap data" << dendl;