break;
case MMonProbe::OP_MISSING_FEATURES:
- derr << __func__ << " require release " << m->mon_release << " > "
- << ceph_release() << ", or missing features (have " << CEPH_FEATURES_ALL
+ derr << __func__ << " require release " << (int)m->mon_release << " > "
+ << (int)ceph_release()
+ << ", or missing features (have " << CEPH_FEATURES_ALL
<< ", required " << m->required_features
<< ", missing " << (m->required_features & ~CEPH_FEATURES_ALL) << ")"
<< dendl;
dout(10) << "handle_probe_probe " << m->get_source_inst() << *m
<< " features " << m->get_connection()->get_features() << dendl;
uint64_t missing = required_features & ~m->get_connection()->get_features();
- if (m->mon_release < monmap->min_mon_release || missing) {
- dout(1) << " peer " << m->get_source_addr() << " release " << m->mon_release
- << " < min_mon_release " << monmap->min_mon_release
+ if ((m->mon_release > 0 && m->mon_release < monmap->min_mon_release) ||
+ missing) {
+ dout(1) << " peer " << m->get_source_addr()
+ << " release " << (int)m->mon_release
+ << " < min_mon_release " << (int)monmap->min_mon_release
<< ", or missing features " << missing << dendl;
MMonProbe *r = new MMonProbe(monmap->fsid, MMonProbe::OP_MISSING_FEATURES,
name, has_ever_joined, monmap->min_mon_release);
ss << " " << i.second.message << "\n";
ss << " [";
unsigned j;
- for (j=0; j < i.second.progress * 30; ++j) {
+ for (j = 0; j < (unsigned)(i.second.progress * 30.0); ++j) {
ss << '=';
}
for (; j < 30; ++j) {