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>