}
};
-std::set<int> OSD::get_mapped_pools() {
- std::set<int> pools;
- RWLock::RLocker l(pg_map_lock);
- for (const auto &i : pg_map)
- pools.insert(i.first.pool());
- return pools;
-}
-
bool OSD::asok_command(std::string_view admin_command, const cmdmap_t& cmdmap,
std::string_view format, ostream& ss)
{
f->open_object_section("compact_result");
f->dump_float("elapsed_time", duration);
f->close_section();
- } else if (admin_command == "get_mapped_pools") {
- f->open_object_section("mapped_pools");
- set<int> poollist = get_mapped_pools();
- f->dump_stream("pool_list") << poollist;
- f->close_section();
} else if (admin_command == "smart") {
probe_smart(ss);
} else if (admin_command == "list_devices") {
" WARNING: Compaction probably slows your requests");
assert(r == 0);
- r = admin_socket->register_command("get_mapped_pools", "get_mapped_pools",
- asok_hook,
- "dump pools whose PG(s) are mapped to this OSD.");
-
- assert(r == 0);
-
r = admin_socket->register_command("smart", "smart",
asok_hook,
"probe OSD devices for SMART data.");
cct->get_admin_socket()->unregister_command("flush_store_cache");
cct->get_admin_socket()->unregister_command("dump_pgstate_history");
cct->get_admin_socket()->unregister_command("compact");
- cct->get_admin_socket()->unregister_command("get_mapped_pools");
cct->get_admin_socket()->unregister_command("smart");
cct->get_admin_socket()->unregister_command("list_devices");
delete asok_hook;