SeaStore::mkfs() and mount() will both invoke
TransactionManager::add_segment_manager(). Without clearing allocators,
EPM will add the same allocator multiple times.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
return crimson::do_for_each(allocators_item.second, [](auto& allocator) {
return allocator->stop();
});
+ }).safe_then([this] {
+ allocators.clear();
});
}
transaction_manager->add_segment_manager(segment_manager.get());
return transaction_manager->mkfs();
}).safe_then([this] {
+ for (auto& sec_sm : secondaries) {
+ transaction_manager->add_segment_manager(sec_sm.get());
+ }
+ transaction_manager->add_segment_manager(segment_manager.get());
return transaction_manager->mount();
}).safe_then([this] {
return repeat_eagain([this] {