From: Igor Fedotov Date: Mon, 14 Sep 2020 20:28:42 +0000 (+0300) Subject: os/bluestore: provide a different name for fallback allocator X-Git-Tag: v14.2.17~99^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=da335b378dd0bdde65c6cd202fab32d4562994d2;p=ceph.git 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) --- 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); }