]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Resume cleaning after an unclean shutdown.
authorAbutalib Aghayev <agayev@psu.edu>
Tue, 22 Jun 2021 19:00:54 +0000 (15:00 -0400)
committerAbutalib Aghayev <agayev@psu.edu>
Tue, 22 Jun 2021 19:00:54 +0000 (15:00 -0400)
Signed-off-by: Abutalib Aghayev <agayev@psu.edu>
src/os/bluestore/BlueStore.cc

index e60bb5523a8ebee74530baa8acb471fbd76b9ceb..7520b5de0ea77215ccf5f5e7db018e2b71a36a23 100644 (file)
@@ -12376,6 +12376,19 @@ void BlueStore::_kv_finalize_thread()
 void BlueStore::_zoned_cleaner_start() {
   dout(10) << __func__ << dendl;
 
+  auto f = dynamic_cast<ZonedFreelistManager*>(fm);
+  ceph_assert(f);
+
+  auto zones_to_clean = f->get_cleaning_in_progress_zones(db);
+  if (!zones_to_clean.empty()) {
+    dout(10) << __func__ << " resuming cleaning after unclean shutdown." << dendl;
+    for (auto zone_num : zones_to_clean) {
+      _zoned_clean_zone(zone_num);
+    }
+    bdev->reset_zones(zones_to_clean);
+    f->mark_zones_to_clean_free(zones_to_clean, db);
+  }
+
   zoned_cleaner_thread.create("bstore_zcleaner");
 }