db/hints: Coroutinize ensure_created_and_verified()

This commit is contained in:
Dawid Medrek
2023-09-29 16:52:39 +02:00
parent a5f14cb130
commit 672cdb5c05

View File

@@ -73,17 +73,18 @@ public:
public:
future<> ensure_created_and_verified() {
if (_state != state::uninitialized) {
return make_ready_future<>();
co_return;
}
return with_semaphore(_lock, 1, [this] () {
utils::directories::set dir_set;
dir_set.add_sharded(_hints_directory);
return _dirs.create_and_verify(std::move(dir_set)).then([this] {
manager_logger.debug("Creating and validating hint directories: {}", _hints_directory);
_state = state::created_and_validated;
});
});
const auto units = co_await seastar::get_units(_lock, 1);
utils::directories::set dir_set;
dir_set.add_sharded(_hints_directory);
co_await _dirs.create_and_verify(std::move(dir_set));
manager_logger.debug("Creating and validating hint directories: {}", _hints_directory);
_state = state::created_and_validated;
}
future<> ensure_rebalanced() {