]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/ConfigMonitor: update crush_location from osd entity 52466/head
authorDidier Gazen <didier.gazen@aero.obs-mip.fr>
Thu, 15 Jun 2023 13:57:24 +0000 (15:57 +0200)
committerKonstantin Shalygin <k0ste@k0ste.ru>
Sat, 15 Jul 2023 07:35:23 +0000 (14:35 +0700)
For osd entities, crush_location needs to refer to osd's parent
(host) so that 'ceph config set' using osd/host mask can work.

Fixes: https://tracker.ceph.com/issues/48750
Signed-off-by: Didier Gazen <didier.gazen@aero.obs-mip.fr>
(cherry picked from commit 5df2a597a5b90ed492b2cbc3599f2cfdababeb12)

src/mon/ConfigMonitor.cc

index 471aebf6dd6ba6360774bcff3abd2d2415336eba..e24ccbc1803d1abfce0886bd025f48608e469b43 100644 (file)
@@ -920,6 +920,7 @@ bool ConfigMonitor::refresh_config(MonSession *s)
 
   string device_class;
   if (s->name.is_osd()) {
+    osdmap.crush->get_full_location(s->entity_name.to_str(), &crush_location);
     const char *c = osdmap.crush->get_item_class(s->name.num());
     if (c) {
       device_class = c;