From e89cf823c761fad8e71199725c65ec4d6bb99d9b Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Mon, 14 Sep 2020 23:28:42 +0300 Subject: [PATCH] os/bluestore: provide a different name for fallback allocator Originally primary Hybrid allocator provided its own name when creating a secondary fallback allocator. This resulted in duplicate admin socket command registrations for both allocator. Registration return code was ignored and henoe nobody was aware of the issue. Nautilus might suffer from the issue though since it asserts on command deregistration failure. And duplicate name causes such a failure for the secode unregister_command() call. Fixes: https://tracker.ceph.com/issues/47443 Signed-off-by: Igor Fedotov (cherry picked from commit b0866b60461b06e6563cad47d0ad3ce9302114f5) --- src/os/bluestore/HybridAllocator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/bluestore/HybridAllocator.cc b/src/os/bluestore/HybridAllocator.cc index 484a664bf0d44..6caf5c6dd8924 100644 --- a/src/os/bluestore/HybridAllocator.cc +++ b/src/os/bluestore/HybridAllocator.cc @@ -204,7 +204,7 @@ void HybridAllocator::_spillover_range(uint64_t start, uint64_t end) bmap_alloc = new BitmapAllocator(cct, get_capacity(), get_block_size(), - get_name()); + get_name() + ".fallback"); } bmap_alloc->init_add_free(start, size); } -- 2.39.5