]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: simplify Onode tracking for removed object 26540/head
authorSage Weil <sage@redhat.com>
Wed, 15 Nov 2017 17:02:33 +0000 (11:02 -0600)
committerIgor Fedotov <ifedotov@suse.com>
Wed, 20 Feb 2019 10:37:13 +0000 (13:37 +0300)
Make the only caller of removed() not need to call note_modified_object
separately, dropping the unneeded erase() call.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3ccc436f9f0d4b010db0c2db15822f8ee46f4873)

src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index abf77ec189b82bd7d2ffd119e6f49b5ad6fcf88b..b3a2f3d36160fedac2ba20801123ee6c5335880e 100644 (file)
@@ -10963,10 +10963,9 @@ int BlueStore::_do_remove(
     );
   }
   txc->t->rmkey(PREFIX_OBJ, o->key.c_str(), o->key.size());
-  txc->removed(o);
+  txc->note_removed_object(o);
   o->extent_map.clear();
   o->onode = bluestore_onode_t();
-  txc->note_modified_object(o);
   _debug_obj_on_delete(o->oid);
 
   if (!is_gen || maybe_unshared_blobs.empty()) {
index 8f78594d98b9e1a095ca84279e8b90a146fd27d9..21f870c29dd264a247721226105a08d8ae393cd7 100644 (file)
@@ -1605,9 +1605,9 @@ public:
       // onode itself isn't written, though
       modified_objects.insert(o);
     }
-    void removed(OnodeRef& o) {
+    void note_removed_object(OnodeRef& o) {
       onodes.erase(o);
-      modified_objects.erase(o);
+      modified_objects.insert(o);
     }
 
     void aio_finish(BlueStore *store) override {