]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush/CrushWrapper: fix finalize clobbering of max_devices
authorSage Weil <sage@redhat.com>
Fri, 12 Jan 2018 23:37:00 +0000 (17:37 -0600)
committerSage Weil <sage@redhat.com>
Tue, 16 Jan 2018 15:55:10 +0000 (09:55 -0600)
This hides device names when they don't appear in the hierarchy,
e.g. after setting a name and class for a new device that hasn't
yet been put in the tree.

Signed-off-by: Sage Weil <sage@redhat.com>
src/crush/CrushWrapper.h

index ed13ff26d67c5ee3d83f114ecf9dea457841c488..5bd5c47a576680a755f9873f5d61b2dd76ba5f25 100644 (file)
@@ -1251,6 +1251,10 @@ public:
   void finalize() {
     assert(crush);
     crush_finalize(crush);
+    if (!name_map.empty() &&
+       name_map.rbegin()->first >= crush->max_devices) {
+      crush->max_devices = name_map.rbegin()->first + 1;
+    }
     have_uniform_rules = !has_legacy_rule_ids();
   }
   int bucket_set_alg(int id, int alg);