MDSMap encoder "ev" (extended version) is not checked for validity when decoding
This is going to be a necessity as we try and enable rolling upgrades! We encode an extended version and use it to decide how much to decode, but for some reason we don't have any kind of compatibility check to see if we're allowed to look at the enclosed data or not. Compare this to OSDMap which actually nests ENCODE_START/DECODE_FINISH blocks. (we could totally do this; it's nice!)
I ran into this working on https://github.com/ceph/ceph/pull/33522 when I wanted to disallow any non-custom MDSes from looking at the data...
#2 Updated by Jos Collin about 1 year ago
For later reference: https://github.com/ceph/ceph/blob/master/src/osd/OSDMap.cc#L555