::encode(new_full_ratio, bl);
::encode(new_backfillfull_ratio, bl);
}
+ if (target_v >= 4) {
+ ::encode(new_require_min_compat_client, bl);
+ }
ENCODE_FINISH(bl); // osd-only data
}
}
if (struct_v >= 4) {
::decode(new_backfillfull_ratio, bl);
+ ::decode(new_require_min_compat_client, bl);
} else {
new_backfillfull_ratio = -1;
}
f->dump_float("new_full_ratio", new_full_ratio);
f->dump_float("new_nearfull_ratio", new_nearfull_ratio);
f->dump_float("new_backfillfull_ratio", new_backfillfull_ratio);
+ f->dump_string("new_require_min_compat_client", new_require_min_compat_client);
if (fullmap.length()) {
f->open_object_section("full_map");
if (inc.new_full_ratio >= 0) {
full_ratio = inc.new_full_ratio;
}
+ if (inc.new_require_min_compat_client.length()) {
+ require_min_compat_client = inc.new_require_min_compat_client;
+ }
// do new crush map last (after up/down stuff)
if (inc.crush.length()) {
::encode(full_ratio, bl);
::encode(backfillfull_ratio, bl);
}
+ if (target_v >= 3) {
+ ::encode(require_min_compat_client, bl);
+ }
ENCODE_FINISH(bl); // osd-only data
}
}
if (struct_v >= 3) {
::decode(backfillfull_ratio, bl);
+ ::decode(require_min_compat_client, bl);
} else {
backfillfull_ratio = 0;
}
f->dump_string("cluster_snapshot", get_cluster_snapshot());
f->dump_int("pool_max", get_pool_max());
f->dump_int("max_osd", get_max_osd());
+ f->dump_string("require_min_compat_client", require_min_compat_client);
auto mv = get_min_compat_client();
f->dump_string("min_compat_client", mv.first);
f->dump_string("min_compat_client_version", mv.second);
out << "full_ratio " << full_ratio << "\n";
out << "backfillfull_ratio " << backfillfull_ratio << "\n";
out << "nearfull_ratio " << nearfull_ratio << "\n";
+ if (require_min_compat_client.length()) {
+ out << "require_min_compat_client " << require_min_compat_client << "\n";
+ }
+ auto mv = get_min_compat_client();
+ out << "min_compat_client " << mv.first << " " << mv.second << "\n";
if (get_cluster_snapshot().length())
out << "cluster_snapshot " << get_cluster_snapshot() << "\n";
out << "\n";
float new_backfillfull_ratio = -1;
float new_full_ratio = -1;
+ string new_require_min_compat_client;
+
mutable bool have_crc; ///< crc values are defined
uint32_t full_crc; ///< crc of the resulting OSDMap
mutable uint32_t inc_crc; ///< crc of this incremental
float full_ratio = 0, backfillfull_ratio = 0, nearfull_ratio = 0;
+ /// min compat client we want to support
+ string require_min_compat_client;
+
mutable uint64_t cached_up_osd_features;
mutable bool crc_defined;