Crash if it is wrong. The monitors should *always* agree.
Signed-off-by: Sage Weil <sage@redhat.com>
osdmap.encode(full_bl, f | CEPH_FEATURE_RESERVED);
tx_size += full_bl.length();
+ // verify the crc is as expected
+ if (inc.have_crc &&
+ inc.full_crc != osdmap.crc) {
+ derr << "inc for epoch " << osdmap.get_epoch() << " has full_crc "
+ << inc.full_crc << " but actual is " << osdmap.crc
+ << " features " << f
+ << dendl;
+ assert(0 == "got mismatched crc encoding full map");
+ }
+
put_version_full(t, osdmap.epoch, full_bl);
put_version_latest_full(t, osdmap.epoch);