]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore: drain transactions on cleaner zone finish
authorSage Weil <sage@newdream.net>
Fri, 1 Oct 2021 20:54:04 +0000 (15:54 -0500)
committerSage Weil <sage@newdream.net>
Fri, 29 Oct 2021 13:56:42 +0000 (09:56 -0400)
Make sure all open transactions (the ones from the cleaner especially)
get drained before we clear the device zone.

Signed-off-by: Sage Weil <sage@newdream.net>
src/os/bluestore/BlueStore.cc

index 320909d6133a9656b5869a4e2f03ec12d430b7c5..16b77bcdf18f95947b7edebbd2f274b546ffba90 100644 (file)
@@ -13154,6 +13154,10 @@ void BlueStore::_zoned_clean_zone(uint64_t zone)
     return;
   }
 
+  // make sure transactions flush/drain/commit (and data is all rewritten
+  // safely elsewhere) before we blow away the cleaned zone
+  _osr_drain_all();
+
   // reset the device zone
   dout(10) << __func__ << " resetting zone 0x" << std::hex << zone << std::dec << dendl;
   bdev->reset_zone(zone);