From a491e9020c2fc9c2a751bdf022ae7b7d1d8646ba Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 3 Sep 2021 16:41:27 -0500 Subject: [PATCH] os/bluestore: properly reset zoned allocator on startup Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 1 + src/os/bluestore/ZonedAllocator.cc | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index bd22830f727..39c2865b343 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6695,6 +6695,7 @@ int BlueStore::mkfs() freelist_type = "zoned"; zone_size = bdev->get_zone_size(); first_sequential_zone = bdev->get_conventional_region_size() / zone_size; + bdev->reset_all_zones(); } else #endif { diff --git a/src/os/bluestore/ZonedAllocator.cc b/src/os/bluestore/ZonedAllocator.cc index 499cd72bf2f..64259196398 100644 --- a/src/os/bluestore/ZonedAllocator.cc +++ b/src/os/bluestore/ZonedAllocator.cc @@ -42,6 +42,9 @@ ZonedAllocator::ZonedAllocator(CephContext* cct, << std::dec << dendl; ceph_assert(size % zone_size == 0); + + zone_states.resize(num_zones); + num_free = num_zones * zone_size; } ZonedAllocator::~ZonedAllocator() -- 2.39.5