]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: fix cleaner race with collection removal
authorSage Weil <sage@newdream.net>
Tue, 19 Oct 2021 20:09:37 +0000 (15:09 -0500)
committerSage Weil <sage@newdream.net>
Fri, 29 Oct 2021 13:56:43 +0000 (09:56 -0400)
Signed-off-by: Sage Weil <sage@newdream.net>
src/os/bluestore/BlueStore.cc

index 92bead276ae0586a5a89f1e7527fb5aa83bcbce3..b4d53766889ae6d930a7bf19fe9b689dbe1e2574 100644 (file)
@@ -13176,6 +13176,10 @@ void BlueStore::_clean_some(ghobject_t oid, uint32_t zone)
           << dendl;
 
   CollectionRef cref = _get_collection_by_oid(oid);
+  if (!cref) {
+    dout(10) << __func__ << " can't find collection for " << oid << dendl;
+    return;
+  }
   Collection *c = cref.get();
 
   // serialize io dispatch vs other transactions
@@ -13184,7 +13188,7 @@ void BlueStore::_clean_some(ghobject_t oid, uint32_t zone)
 
   auto o = c->get_onode(oid, false);
   if (!o) {
-    derr << __func__ << " can't find " << oid << dendl;
+    dout(10) << __func__ << " can't find " << oid << dendl;
     return;
   }