From: Sage Weil Date: Tue, 10 Oct 2017 19:00:30 +0000 (-0500) Subject: os/bluestore: keep ref to deleted onode in _do_remove X-Git-Tag: v13.0.2~743^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0347518d02eda4e0e2da5241f1d77bc7304d59fb;p=ceph.git os/bluestore: keep ref to deleted onode in _do_remove We need to make sure we carry this ref through until the object is deleted or else another request right try to read it before the kv txn is applied. (This is easy to trigger now that onreadable is completed at queue time instead of commit time.) Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index b88d57280c7..0c9b41497c1 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -10747,6 +10747,7 @@ int BlueStore::_do_remove( txc->removed(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()) {