]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
messages/MOSDMap: fix compat_version for MOSDMap 21605/head
authorSage Weil <sage@redhat.com>
Thu, 26 Apr 2018 15:31:34 +0000 (10:31 -0500)
committerSage Weil <sage@redhat.com>
Fri, 27 Apr 2018 16:12:43 +0000 (11:12 -0500)
commit579b8edb2ca815729728977b3c04aecf11b6a7cb
tree5921336564ef2f79c909bbfa52a4f1228b91d65f
parent4bea8b55d35ac2dffcef10998b77357511863163
messages/MOSDMap: fix compat_version for MOSDMap

Jewel clients see
 will not decode message of type 41 version 4 because compat_version 4 > supported version 3

The problem is when compat_version == 0 and head_version != 0, we
interpret compat_version == head_version.  From Message::encode,

    // if the encoder didn't specify past compatibility, we assume it
    // is incompatible.
    if (header.compat_version == 0)
      header.compat_version = header.version;

Broken by 49833c3bb264949b8126796997a95a95b50af411 for the
head_version=4 case (compat_version needs to be 3).

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