]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: MonMap: do not increase mon_info_t's compatv in stretch mode, for real 43899/head
authorGreg Farnum <gfarnum@redhat.com>
Thu, 11 Nov 2021 20:20:11 +0000 (20:20 +0000)
committerGreg Farnum <gfarnum@redhat.com>
Mon, 15 Nov 2021 20:24:20 +0000 (20:24 +0000)
This was supposed to be fixed a year ago in commit
2e3643647bfbe955b54c62c8aaf114744dedb86e, but it set compat_v to 4 instead of all
the way back to 1 as it should have.

Our testing for stretch mode in these areas is just not very thorough -- the
kernel only supports compat_v 1 and apparently nobody's noticed the issue
since then? :/
As the prior commit says, you can't set locations without being gated on a
server feature bit, so simply cancelling this enforcement is completely safe.

Fixes: https://tracker.ceph.com/issues/53237
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/mon/MonMap.cc

index 43236a63641763f0df08d436037b11916b309df2..131d97ea0a843a36f2a00d0121f131e37eab7d2a 100644 (file)
@@ -53,10 +53,10 @@ void mon_info_t::encode(ceph::buffer::list& bl, uint64_t features) const
   uint8_t min_v = 1;
   if (!crush_loc.empty()) {
     // we added crush_loc in version 5, but need to let old clients decode it
-    // so just leave the min_v at version 4. Monitors are protected
+    // so just leave the min_v at version 1. Monitors are protected
     // from misunderstandings about location because setting it is blocked
     // on FEATURE_PINGING
-    min_v = 4;
+    min_v = 1;
   }
   if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
     v = 2;