]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: keep ref to deleted onode in _do_remove
authorSage Weil <sage@redhat.com>
Tue, 10 Oct 2017 19:00:30 +0000 (14:00 -0500)
committerSage Weil <sage@redhat.com>
Mon, 11 Dec 2017 21:05:38 +0000 (15:05 -0600)
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 <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index b88d57280c75071f554a45ede79ea0229dd480a7..0c9b41497c17ca10708a1bd0471559f090572fc0 100644 (file)
@@ -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()) {