#define dout_subsys ceph_subsys_mon
#undef dout_prefix
#define dout_prefix _prefix(_dout, mon, get_fsmap())
-static ostream& _prefix(std::ostream *_dout, Monitor &mon, const FSMap& fsmap) {
+
+static ostream& _prefix(ostream *_dout, Monitor &mon, const FSMap& fsmap) {
return *_dout << "mon." << mon.name << "@" << mon.rank
<< "(" << mon.get_state_name()
<< ").mds e" << fsmap.get_epoch() << " ";
*/
namespace TOPNSPC::common {
template<> bool cmd_getval(const cmdmap_t& cmdmap,
- std::string_view k, mds_gid_t &val)
+ string_view k, mds_gid_t &val)
{
return cmd_getval(cmdmap, k, (int64_t&)val);
}
template<> bool cmd_getval(const cmdmap_t& cmdmap,
- std::string_view k, mds_rank_t &val)
+ string_view k, mds_rank_t &val)
{
return cmd_getval(cmdmap, k, (int64_t&)val);
}
template<> bool cmd_getval(const cmdmap_t& cmdmap,
- std::string_view k, MDSMap::DaemonState &val)
+ string_view k, MDSMap::DaemonState &val)
{
return cmd_getval(cmdmap, k, (int64_t&)val);
}
put_last_committed(t, pending.get_epoch());
// Encode MDSHealth data
- for (std::map<uint64_t, MDSHealth>::iterator i = pending_daemon_health.begin();
+ for (map<uint64_t, MDSHealth>::iterator i = pending_daemon_health.begin();
i != pending_daemon_health.end(); ++i) {
bufferlist bl;
i->second.encode(bl);
t->put(MDS_HEALTH_PREFIX, stringify(i->first), bl);
}
- for (std::set<uint64_t>::iterator i = pending_daemon_health_rm.begin();
+ for (set<uint64_t>::iterator i = pending_daemon_health_rm.begin();
i != pending_daemon_health_rm.end(); ++i) {
t->erase(MDS_HEALTH_PREFIX, stringify(*i));
}
const auto &old_health = pending_daemon_health[gid].metrics;
const auto &new_health = m->get_health().metrics;
- std::set<mds_metric_t> old_types;
+ set<mds_metric_t> old_types;
for (const auto &i : old_health) {
old_types.insert(i.type);
}
- std::set<mds_metric_t> new_types;
+ set<mds_metric_t> new_types;
for (const auto &i : new_health) {
if (i.type == MDS_HEALTH_DUMMY) {
continue;
f->open_object_section("mds");
f->dump_string("name", info.name);
- std::ostringstream get_err;
+ ostringstream get_err;
r = dump_metadata(fsmap, info.name, f.get(), get_err);
if (r == -EINVAL || r == -ENOENT) {
// Drop error, list what metadata we do have
return blocklist_epoch != 0;
}
-mds_gid_t MDSMonitor::gid_from_arg(const FSMap &fsmap, const std::string &arg, std::ostream &ss)
+mds_gid_t MDSMonitor::gid_from_arg(const FSMap &fsmap, const string &arg, ostream &ss)
{
// Try parsing as a role
mds_role_t role;
- std::ostringstream ignore_err; // Don't spam 'ss' with parse_role errors
+ ostringstream ignore_err; // Don't spam 'ss' with parse_role errors
int r = fsmap.parse_role(arg, &role, ignore_err);
if (r == 0) {
// See if a GID is assigned to this role
}
// Try parsing as a gid
- std::string err;
+ string err;
unsigned long long maybe_gid = strict_strtoll(arg.c_str(), 10, &err);
if (!err.empty()) {
// Not a role or a GID, try as a daemon name
return MDS_GID_NONE;
}
-int MDSMonitor::fail_mds(FSMap &fsmap, std::ostream &ss,
- const std::string &arg, MDSMap::mds_info_t *failed_info)
+int MDSMonitor::fail_mds(FSMap &fsmap, ostream &ss,
+ const string &arg, MDSMap::mds_info_t *failed_info)
{
ceph_assert(failed_info != nullptr);
int MDSMonitor::filesystem_command(
FSMap &fsmap,
MonOpRequestRef op,
- std::string const &prefix,
+ string const &prefix,
const cmdmap_t& cmdmap,
- std::stringstream &ss)
+ stringstream &ss)
{
dout(4) << __func__ << " prefix='" << prefix << "'" << dendl;
op->mark_mdsmon_event(__func__);
return -EPERM;
}
- std::string role_str;
+ string role_str;
cmd_getval(cmdmap, "role", role_str);
mds_role_t role;
const auto fs_names = op->get_session()->get_allowed_fs_names();
}
r = 0;
} else if (prefix == "mds repaired") {
- std::string role_str;
+ string role_str;
cmd_getval(cmdmap, "role", role_str);
mds_role_t role;
const auto fs_names = op->get_session()->get_allowed_fs_names();
r = 0;
} else if (prefix == "mds freeze") {
- std::string who;
+ string who;
cmd_getval(cmdmap, "role_or_gid", who);
mds_gid_t gid = gid_from_arg(fsmap, who, ss);
if (gid == MDS_GID_NONE) {
bool freeze = false;
{
- std::string str;
+ string str;
cmd_getval(cmdmap, "val", str);
if ((r = parse_bool(str, &freeze, ss)) != 0) {
return r;
// filesystems. Build a list of all the types we service
// subscriptions for.
- std::vector<std::string> types = {
+ vector<string> types = {
"fsmap",
"fsmap.user",
"mdsmap",
for (const auto& [fscid, fs] : get_fsmap()) {
CachedStackStringStream cos;
*cos << "mdsmap." << fscid;
- types.push_back(std::string(cos->strv()));
+ types.push_back(string(cos->strv()));
}
for (const auto &type : types) {
// You're a client. Did you request a particular
// namespace?
if (sub->type.compare(0, 7, "mdsmap.") == 0) {
- auto namespace_id_str = sub->type.substr(std::string("mdsmap.").size());
+ auto namespace_id_str = sub->type.substr(string("mdsmap.").size());
dout(10) << __func__ << ": namespace_id " << namespace_id_str << dendl;
- std::string err;
+ string err;
fscid = strict_strtoll(namespace_id_str.c_str(), 10, &err);
if (!err.empty()) {
// Client asked for a non-existent namespace, send them nothing
return 0;
}
-void MDSMonitor::count_metadata(const std::string &field, map<string,int> *out)
+void MDSMonitor::count_metadata(const string &field, map<string,int> *out)
{
map<mds_gid_t,Metadata> meta;
load_metadata(meta);
}
}
-void MDSMonitor::count_metadata(const std::string &field, Formatter *f)
+void MDSMonitor::count_metadata(const string &field, Formatter *f)
{
map<string,int> by_val;
count_metadata(field, &by_val);
f->close_section();
}
-void MDSMonitor::get_versions(std::map<string, list<string> > &versions)
+void MDSMonitor::get_versions(map<string, list<string> > &versions)
{
map<mds_gid_t,Metadata> meta;
load_metadata(meta);
const auto &fsmap = get_fsmap();
- std::map<mds_gid_t, mds_info_t> map = fsmap.get_mds_info();
+ map<mds_gid_t, mds_info_t> map = fsmap.get_mds_info();
dout(10) << __func__ << " mds meta=" << meta << dendl;
for (auto& p : meta) {
auto q = p.second.find("ceph_version_short");
}
}
-int MDSMonitor::dump_metadata(const FSMap& fsmap, const std::string &who,
+int MDSMonitor::dump_metadata(const FSMap& fsmap, const string &who,
Formatter *f, ostream& err)
{
ceph_assert(f);
std::max(g_conf()->mds_beacon_interval, g_conf()->mds_beacon_grace * 0.5);
// check beacon timestamps
- std::vector<mds_gid_t> to_remove;
+ vector<mds_gid_t> to_remove;
const bool mon_down = mon.is_mon_down();
const auto mds_beacon_mon_down_grace =
g_conf().get_val<std::chrono::seconds>("mds_beacon_mon_down_grace");