#include <iomanip>
+#include <list>
+#include <map>
+#include <string>
+#include <vector>
+
#define dout_context g_ceph_context
#define dout_subsys ceph_subsys_mgr
#undef dout_prefix
void DaemonServer::_generate_command_map(
cmdmap_t& cmdmap,
- map<string,string> ¶m_str_map)
+ std::map<string,string> ¶m_str_map)
{
for (auto p = cmdmap.begin();
p != cmdmap.end(); ++p) {
if (p->first == "prefix")
continue;
if (p->first == "caps") {
- vector<string> cv;
+ std::vector<string> cv;
if (cmd_getval(cmdmap, "caps", cv) &&
cv.size() % 2 == 0) {
for (unsigned i = 0; i < cv.size(); i += 2) {
const string &module,
const string &prefix,
const cmdmap_t& cmdmap,
- const map<string,string>& param_str_map,
+ const std::map<string,string>& param_str_map,
const MonCommand *this_cmd) {
if (s->entity_name.is_mon()) {
}
void DaemonServer::_check_offlines_pgs(
- const set<int>& osds,
+ const std::set<int>& osds,
const OSDMap& osdmap,
const PGMap& pgmap,
offline_pg_report *report)
report->osds = osds;
for (const auto& q : pgmap.pg_stat) {
- set<int32_t> pg_acting; // net acting sets (with no missing if degraded)
+ std::set<int32_t> pg_acting; // net acting sets (with no missing if degraded)
bool found = false;
if (q.second.state == 0) {
report->unknown.insert(q.first);
}
void DaemonServer::_maximize_ok_to_stop_set(
- const set<int>& orig_osds,
+ const std::set<int>& orig_osds,
unsigned max,
const OSDMap& osdmap,
const PGMap& pgmap,
// semi-arbitrarily start with the first osd in the set
offline_pg_report report;
- set<int> osds = orig_osds;
+ std::set<int> osds = orig_osds;
int parent = *osds.begin();
- set<int> children;
+ std::set<int> children;
while (true) {
// identify the next parent
session->inst.name = m->get_source();
}
- map<string,string> param_str_map;
+ std::map<string,string> param_str_map;
std::stringstream ss;
int r = 0;
}
for (auto& con : p->second) {
assert(HAVE_FEATURE(con->get_features(), SERVER_OCTOPUS));
- vector<spg_t> pgs = { spgid };
+ std::vector<spg_t> pgs = { spgid };
con->send_message(new MOSDScrub2(monc->get_fsid(),
epoch,
pgs,
prefix == "osd repair") {
string whostr;
cmd_getval(cmdctx->cmdmap, "who", whostr);
- vector<string> pvec;
+ std::vector<string> pvec;
get_str_vec(prefix, pvec);
- set<int> osds;
+ std::set<int> osds;
if (whostr == "*" || whostr == "all" || whostr == "any") {
cluster_state.with_osdmap([&](const OSDMap& osdmap) {
for (int i = 0; i < osdmap.get_max_osd(); i++)
return true;
}
}
- set<int> sent_osds, failed_osds;
+ std::set<int> sent_osds, failed_osds;
for (auto osd : osds) {
- vector<spg_t> spgs;
+ std::vector<spg_t> spgs;
epoch_t epoch;
cluster_state.with_osdmap_and_pgmap([&](const OSDMap& osdmap, const PGMap& pgmap) {
epoch = osdmap.get_epoch();
} else if (prefix == "osd pool scrub" ||
prefix == "osd pool deep-scrub" ||
prefix == "osd pool repair") {
- vector<string> pool_names;
+ std::vector<string> pool_names;
cmd_getval(cmdctx->cmdmap, "who", pool_names);
if (pool_names.empty()) {
ss << "must specify one or more pool names";
return true;
}
epoch_t epoch;
- map<int32_t, vector<pg_t>> pgs_by_primary; // legacy
- map<int32_t, vector<spg_t>> spgs_by_primary;
+ std::map<int32_t, std::vector<pg_t>> pgs_by_primary; // legacy
+ std::map<int32_t, std::vector<spg_t>> spgs_by_primary;
cluster_state.with_osdmap([&](const OSDMap& osdmap) {
epoch = osdmap.get_epoch();
for (auto& pool_name : pool_names) {
prefix == "osd test-reweight-by-pg" ||
prefix == "osd test-reweight-by-utilization";
int64_t oload = cmd_getval_or<int64_t>(cmdctx->cmdmap, "oload", 120);
- set<int64_t> pools;
- vector<string> poolnames;
+ std::set<int64_t> pools;
+ std::vector<string> poolnames;
cmd_getval(cmdctx->cmdmap, "pools", poolnames);
cluster_state.with_osdmap([&](const OSDMap& osdmap) {
for (const auto& poolname : poolnames) {
} else if (prefix == "osd safe-to-destroy" ||
prefix == "osd destroy" ||
prefix == "osd purge") {
- set<int> osds;
+ std::set<int> osds;
int r = 0;
if (prefix == "osd safe-to-destroy") {
- vector<string> ids;
+ std::vector<string> ids;
cmd_getval(cmdctx->cmdmap, "ids", ids);
cluster_state.with_osdmap([&](const OSDMap& osdmap) {
r = osdmap.parse_osd_id_list(ids, &osds, &ss);
cmdctx->reply(r, ss);
return true;
}
- set<int> active_osds, missing_stats, stored_pgs, safe_to_destroy;
+ std::set<int> active_osds, missing_stats, stored_pgs, safe_to_destroy;
int affected_pgs = 0;
cluster_state.with_osdmap_and_pgmap([&](const OSDMap& osdmap, const PGMap& pg_map) {
if (pg_map.num_pg_unknown > 0) {
monc->start_mon_command({cmd}, {}, nullptr, &on_finish->outs, on_finish);
return true;
} else if (prefix == "osd ok-to-stop") {
- vector<string> ids;
+ std::vector<string> ids;
cmd_getval(cmdctx->cmdmap, "ids", ids);
- set<int> osds;
+ std::set<int> osds;
int64_t max = 1;
cmd_getval(cmdctx->cmdmap, "max", max);
int r;
prefix == "osd pool force-backfill" ||
prefix == "osd pool cancel-force-recovery" ||
prefix == "osd pool cancel-force-backfill") {
- vector<string> vs;
+ std::vector<string> vs;
get_str_vec(prefix, vs);
auto& granularity = vs.front();
auto& forceop = vs.back();
- vector<pg_t> pgs;
+ std::vector<pg_t> pgs;
// figure out actual op just once
int actual_op = 0;
actual_op = OFR_RECOVERY | OFR_CANCEL;
}
- set<pg_t> candidates; // deduped
+ std::set<pg_t> candidates; // deduped
if (granularity == "pg") {
// covnert pg names to pgs, discard any invalid ones while at it
- vector<string> pgids;
+ std::vector<string> pgids;
cmd_getval(cmdctx->cmdmap, "pgid", pgids);
for (auto& i : pgids) {
pg_t pgid;
}
} else {
// per pool
- vector<string> pool_names;
+ std::vector<string> pool_names;
cmd_getval(cmdctx->cmdmap, "who", pool_names);
if (pool_names.empty()) {
ss << "must specify one or more pool names";
// message per distinct OSD
cluster_state.with_osdmap([&](const OSDMap& osdmap) {
// group pgs to process by osd
- map<int, vector<spg_t>> osdpgs;
+ std::map<int, std::vector<spg_t>> osdpgs;
for (auto& pgid : pgs) {
int primary;
spg_t spg;
cmdctx->reply(r, ss);
return true;
} else if (prefix == "device ls") {
- set<string> devids;
+ std::set<string> devids;
TextTable tbl;
if (f) {
f->open_array_section("devices");
} else if (prefix == "device ls-by-host") {
string host;
cmd_getval(cmdctx->cmdmap, "host", host);
- set<string> devids;
+ std::set<string> devids;
daemon_state.list_devids_by_server(host, &devids);
if (f) {
f->open_array_section("devices");
r = -EINVAL;
cmdctx->reply(r, ss);
} else {
- map<string,string> meta;
+ std::map<string,string> meta;
daemon_state.with_device_create(
devid,
[from, to, &meta] (DeviceState& dev) {
} else if (prefix == "device rm-life-expectancy") {
string devid;
cmd_getval(cmdctx->cmdmap, "devid", devid);
- map<string,string> meta;
+ std::map<string,string> meta;
if (daemon_state.with_device_write(devid, [&meta] (DeviceState& dev) {
dev.rm_life_expectancy();
meta = dev.metadata;
});
});
- map<daemon_metric, unique_ptr<DaemonHealthMetricCollector>> accumulated;
+ std::map<daemon_metric, unique_ptr<DaemonHealthMetricCollector>> accumulated;
for (auto service : {"osd", "mon"} ) {
auto daemons = daemon_state.get_by_service(service);
for (const auto& [key,state] : daemons) {
double max_misplaced = g_conf().get_val<double>("target_max_misplaced_ratio");
bool aggro = g_conf().get_val<bool>("mgr_debug_aggressive_pg_num_changes");
- map<string,unsigned> pg_num_to_set;
- map<string,unsigned> pgp_num_to_set;
- set<pg_t> upmaps_to_clear;
+ std::map<string,unsigned> pg_num_to_set;
+ std::map<string,unsigned> pgp_num_to_set;
+ std::set<pg_t> upmaps_to_clear;
cluster_state.with_osdmap_and_pgmap([&](const OSDMap& osdmap, const PGMap& pg_map) {
unsigned creating_or_unknown = 0;
for (auto& i : pg_map.num_pg_by_state) {
<< dendl;
ok = false;
}
- vector<int32_t> source_acting;
+ std::vector<int32_t> source_acting;
for (auto &merge_participant : {merge_source, merge_target}) {
bool is_merge_source = merge_participant == merge_source;
if (osdmap.have_pg_upmaps(merge_participant)) {
void DaemonServer::got_mgr_map()
{
std::lock_guard l(lock);
- set<std::string> have;
+ std::set<std::string> have;
cluster_state.with_mgrmap([&](const MgrMap& mgrmap) {
auto md_update = [&] (DaemonKey key) {
std::ostringstream oss;
even those get stuck. Please enable \"mgr_enable_op_tracker\", and the tracker \
will start to track new ops received afterwards.";
- set<string> filters;
- vector<string> filter_str;
+ std::set<string> filters;
+ std::vector<string> filter_str;
if (cmd_getval(cmdmap, "filterstr", filter_str)) {
copy(filter_str.begin(), filter_str.end(),
inserter(filters, filters.end()));