From 3ccc8f89c116246ac62a093606cc62cca06a84ef Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Tue, 14 Jul 2020 18:49:30 -0400 Subject: [PATCH] crush/CrushWrapper: rebuild reverse maps after rebuilding crush map The Objecter will crash when localized reads are enabled and two threads attempt to rebuild the (invalidated) reverse maps concurrently. This should address the issue for the Objecter use-case without the need to add additional locking. Fixes: https://tracker.ceph.com/issues/44311 Signed-off-by: Jason Dillaman (cherry picked from commit 8b866794f5b3674c5e3ad9adceb5e3230d55a0e0) --- src/crush/CrushWrapper.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/crush/CrushWrapper.h b/src/crush/CrushWrapper.h index 9dffe69c8a228..136ad53864995 100644 --- a/src/crush/CrushWrapper.h +++ b/src/crush/CrushWrapper.h @@ -1321,6 +1321,7 @@ public: crush->max_devices = name_map.rbegin()->first + 1; } have_uniform_rules = !has_legacy_rule_ids(); + build_rmaps(); } int bucket_set_alg(int id, int alg); -- 2.39.5