]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush/CrushWrapper: rebuild reverse maps after rebuilding crush map 36662/head
authorJason Dillaman <dillaman@redhat.com>
Tue, 14 Jul 2020 22:49:30 +0000 (18:49 -0400)
committerNathan Cutler <ncutler@suse.com>
Sat, 15 Aug 2020 13:28:04 +0000 (15:28 +0200)
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 <dillaman@redhat.com>
(cherry picked from commit 8b866794f5b3674c5e3ad9adceb5e3230d55a0e0)

src/crush/CrushWrapper.h

index 8e3ceee48f664206de08a35e25770c0cdc07c7fa..ed4a90addc425d691bd0e232b51ea4e4faf3ec91 100644 (file)
@@ -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);