]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crush/CrushWrapper: rebuild reverse maps after rebuilding crush map 36103/head
authorJason Dillaman <dillaman@redhat.com>
Tue, 14 Jul 2020 22:49:30 +0000 (18:49 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 14 Jul 2020 22:50:25 +0000 (18:50 -0400)
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>
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);