| 4689 | } |
| 4690 | |
| 4691 | void OSDMonitor::reencode_full_map(bufferlist& bl, uint64_t features) |
| 4692 | { |
| 4693 | OSDMap m; |
| 4694 | auto q = bl.cbegin(); |
| 4695 | m.decode(q); |
| 4696 | // always encode with subset of osdmap's canonical features |
| 4697 | uint64_t f = features & m.get_encoding_features(); |
| 4698 | dout(20) << __func__ << " " << m.get_epoch() << " with features " << f |
| 4699 | << dendl; |
| 4700 | bl.clear(); |
| 4701 | m.encode(bl, f | CEPH_FEATURE_RESERVED); |
| 4702 | } |
| 4703 | |
| 4704 | int OSDMonitor::get_version(version_t ver, uint64_t features, bufferlist& bl) |
| 4705 | { |