bufferlist orig_full_bl;
get_version_full(osdmap.epoch, orig_full_bl);
+ dout(20) << __func__ << " mon is running version: " << ceph_version_to_str() << dendl;
if (orig_full_bl.length()) {
// the primary provided the full map
ceph_assert(inc.have_crc);
// sync with the primary for this and all future maps. OSDs
// will also be brought back into sync when they discover the
// crc mismatch and request a full map from a mon.
- derr << __func__ << " full map CRC mismatch, resetting to canonical"
- << dendl;
+ derr << __func__ << " full map CRC mismatch,"
+ << " might be because mons are running mixed versions ..."
+ << " resetting to canonical" << dendl;
+
+ dout(20) << __func__ << " canonical crc: " << inc.full_crc
+ << " my crc: " << osdmap.crc << dendl;
dout(20) << __func__ << " my (bad) full osdmap:\n";
JSONFormatter jf(true);
bufferlist bl;
encode(pending_inc, bl, features | CEPH_FEATURE_RESERVED);
+ dout(20) << __func__ << " mon is running version: "
+ << ceph_version_to_str() << dendl;
dout(20) << " full_crc " << tmp.get_crc()
<< " inc_crc " << pending_inc.inc_crc << dendl;