From 12878431ad1e1980ecc99581aa11b9371fb264ec 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 8e3ceee48f6..ed4a90addc4 100644 --- a/src/crush/CrushWrapper.h +++ b/src/crush/CrushWrapper.h @@ -1331,6 +1331,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.47.3