From: Sage Weil Date: Wed, 15 Nov 2017 17:02:33 +0000 (-0600) Subject: os/bluestore: simplify Onode tracking for removed object X-Git-Tag: v12.2.12~58^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F26540%2Fhead;p=ceph.git os/bluestore: simplify Onode tracking for removed object Make the only caller of removed() not need to call note_modified_object separately, dropping the unneeded erase() call. Signed-off-by: Sage Weil (cherry picked from commit 3ccc436f9f0d4b010db0c2db15822f8ee46f4873) --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index abf77ec189b8..b3a2f3d36160 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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()) { diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 8f78594d98b9..21f870c29dd2 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -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 {