From da335b378dd0bdde65c6cd202fab32d4562994d2 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 484a664bf0d..6caf5c6dd89 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.47.3