From 158f2978c062ce059974164480ad27ebf14226bd Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 11 Aug 2021 11:42:44 +0800 Subject: [PATCH] tools: build without "using namespace std" * add "std::" prefix in headers * add "using" declarations in .cc files. so we don't rely on "using namespace std" in one or more included headers. Signed-off-by: Kefu Chai --- src/tools/RadosDump.cc | 3 +++ src/tools/RadosDump.h | 26 +++++++++---------- src/tools/ceph-client-debug.cc | 2 ++ src/tools/ceph-dencoder/ceph_dencoder.cc | 2 ++ src/tools/ceph-dencoder/denc_plugin.h | 2 +- src/tools/ceph-dencoder/denc_registry.h | 22 ++++++++-------- src/tools/ceph_authtool.cc | 6 +++++ src/tools/ceph_conf.cc | 6 ++++- src/tools/ceph_dedup_tool.cc | 2 ++ src/tools/ceph_kvstore_tool.cc | 2 ++ src/tools/ceph_monstore_tool.cc | 2 ++ src/tools/ceph_objectstore_tool.cc | 1 + src/tools/ceph_osdomap_tool.cc | 1 + src/tools/crushtool.cc | 12 +++++++++ .../immutable_object_cache/ObjectCacheStore.h | 4 +-- src/tools/immutable_object_cache/Types.cc | 2 +- src/tools/kvstore_tool.cc | 2 ++ src/tools/monmaptool.cc | 9 +++++++ src/tools/osdmaptool.cc | 1 + src/tools/psim.cc | 2 ++ src/tools/rados/PoolDump.cc | 4 +++ src/tools/rados/RadosImport.cc | 5 ++++ src/tools/rados/rados.cc | 18 ++++++++++++- src/tools/radosacl.cc | 1 + src/tools/rbd_wnbd/rbd_wnbd.cc | 1 + src/tools/rebuild_mondb.cc | 2 ++ src/tools/scratchtoolpp.cc | 2 ++ 27 files changed, 112 insertions(+), 30 deletions(-) diff --git a/src/tools/RadosDump.cc b/src/tools/RadosDump.cc index 420cd9fc613..014041bff84 100644 --- a/src/tools/RadosDump.cc +++ b/src/tools/RadosDump.cc @@ -14,6 +14,9 @@ #include "RadosDump.h" +using std::cerr; +using std::cout; + int RadosDump::read_super() { bufferlist ebl; diff --git a/src/tools/RadosDump.h b/src/tools/RadosDump.h index 213351e17b0..dd7951d22ae 100644 --- a/src/tools/RadosDump.h +++ b/src/tools/RadosDump.h @@ -219,15 +219,15 @@ struct data_section { }; struct attr_section { - map> data; - explicit attr_section(const map> &data) : data(data) { } - explicit attr_section(map> &data_) + using data_t = std::map>; + data_t data; + explicit attr_section(const data_t &data) : data(data) { } + explicit attr_section(std::map> &data_) { - for (std::map::iterator i = data_.begin(); - i != data_.end(); ++i) { + for (auto& [k, v] : data_) { bufferlist bl; - bl.push_back(i->second); - data[i->first] = bl; + bl.push_back(v); + data.emplace(k, std::move(bl)); } } @@ -263,8 +263,8 @@ struct omap_hdr_section { }; struct omap_section { - map omap; - explicit omap_section(const map &omap) : + std::map omap; + explicit omap_section(const std::map &omap) : omap(omap) { } omap_section() { } @@ -289,7 +289,7 @@ struct metadata_section { PastIntervals past_intervals; OSDMap osdmap; bufferlist osdmap_bl; // Used in lieu of encoding osdmap due to crc checking - map divergent_priors; + std::map divergent_priors; pg_missing_t missing; metadata_section( @@ -332,14 +332,14 @@ struct metadata_section { if (struct_v >= 6) { decode(past_intervals, bl); } else if (struct_v > 1) { - cout << "NOTICE: Older export with classic past_intervals" << std::endl; + std::cout << "NOTICE: Older export with classic past_intervals" << std::endl; } else { - cout << "NOTICE: Older export without past_intervals" << std::endl; + std::cout << "NOTICE: Older export without past_intervals" << std::endl; } if (struct_v > 2) { osdmap.decode(bl); } else { - cout << "WARNING: Older export without OSDMap information" << std::endl; + std::cout << "WARNING: Older export without OSDMap information" << std::endl; } if (struct_v > 3) { decode(divergent_priors, bl); diff --git a/src/tools/ceph-client-debug.cc b/src/tools/ceph-client-debug.cc index 7a43c9c2a6d..5e0b4c4390d 100644 --- a/src/tools/ceph-client-debug.cc +++ b/src/tools/ceph-client-debug.cc @@ -26,6 +26,8 @@ #define dout_context g_ceph_context #define dout_subsys ceph_subsys_client +using namespace std; + void usage() { std::cout << "Usage: ceph-client-debug [options] " << std::endl; diff --git a/src/tools/ceph-dencoder/ceph_dencoder.cc b/src/tools/ceph-dencoder/ceph_dencoder.cc index 03f0adf99f5..f8969cb1a89 100644 --- a/src/tools/ceph-dencoder/ceph_dencoder.cc +++ b/src/tools/ceph-dencoder/ceph_dencoder.cc @@ -30,6 +30,8 @@ namespace fs = std::filesystem; +using namespace std; + void usage(ostream &out) { out << "usage: ceph-dencoder [commands ...]" << std::endl; diff --git a/src/tools/ceph-dencoder/denc_plugin.h b/src/tools/ceph-dencoder/denc_plugin.h index 3b17a4f55da..a203551eadc 100644 --- a/src/tools/ceph-dencoder/denc_plugin.h +++ b/src/tools/ceph-dencoder/denc_plugin.h @@ -30,7 +30,7 @@ public: #endif } const dencoders_t& register_dencoders() { - static constexpr string_view REGISTER_DENCODERS_FUNCTION = "register_dencoders\0"; + static constexpr std::string_view REGISTER_DENCODERS_FUNCTION = "register_dencoders\0"; assert(mod); using register_dencoders_t = void (*)(DencoderPlugin*); diff --git a/src/tools/ceph-dencoder/denc_registry.h b/src/tools/ceph-dencoder/denc_registry.h index dc1db36d3f2..aad52cbf710 100644 --- a/src/tools/ceph-dencoder/denc_registry.h +++ b/src/tools/ceph-dencoder/denc_registry.h @@ -42,7 +42,7 @@ template class DencoderBase : public Dencoder { protected: T* m_object; - list m_list; + std::list m_list; bool stray_okay; bool nondeterministic; @@ -66,7 +66,7 @@ public: return e.what(); } if (!stray_okay && !p.end()) { - ostringstream ss; + std::ostringstream ss; ss << "stray data at end of buffer, offset " << p.get_off(); return ss.str(); } @@ -84,14 +84,14 @@ public: int num_generated() override { return m_list.size(); } - string select_generated(unsigned i) override { + std::string select_generated(unsigned i) override { // allow 0- or 1-based (by wrapping) if (i == 0) i = m_list.size(); if ((i == 0) || (i > m_list.size())) return "invalid id for generated object"; m_object = *(std::next(m_list.begin(), i-1)); - return string(); + return {}; } bool is_deterministic() override { @@ -162,13 +162,13 @@ public: template class MessageDencoderImpl : public Dencoder { ref_t m_object; - list> m_list; + std::list> m_list; public: MessageDencoderImpl() : m_object{make_message()} {} ~MessageDencoderImpl() override {} - string decode(bufferlist bl, uint64_t seek) override { + std::string decode(bufferlist bl, uint64_t seek) override { auto p = bl.cbegin(); p.seek(seek); try { @@ -176,7 +176,7 @@ public: if (!n) throw std::runtime_error("failed to decode"); if (n->get_type() != m_object->get_type()) { - stringstream ss; + std::stringstream ss; ss << "decoded type " << n->get_type() << " instead of expected " << m_object->get_type(); throw std::runtime_error(ss.str()); } @@ -186,11 +186,11 @@ public: return e.what(); } if (!p.end()) { - ostringstream ss; + std::ostringstream ss; ss << "stray data at end of buffer, offset " << p.get_off(); return ss.str(); } - return string(); + return {}; } void encode(bufferlist& out, uint64_t features) override { @@ -207,14 +207,14 @@ public: int num_generated() override { return m_list.size(); } - string select_generated(unsigned i) override { + std::string select_generated(unsigned i) override { // allow 0- or 1-based (by wrapping) if (i == 0) i = m_list.size(); if ((i == 0) || (i > m_list.size())) return "invalid id for generated object"; m_object = *(std::next(m_list.begin(), i-1)); - return string(); + return {}; } bool is_deterministic() override { return true; diff --git a/src/tools/ceph_authtool.cc b/src/tools/ceph_authtool.cc index c650cc88049..8f627fa4bde 100644 --- a/src/tools/ceph_authtool.cc +++ b/src/tools/ceph_authtool.cc @@ -22,6 +22,12 @@ #include "auth/Auth.h" #include "auth/KeyRing.h" +using std::map; +using std::string; +using std::vector; +using std::cerr; +using std::cout; + void usage() { cout << "usage: ceph-authtool keyringfile [OPTIONS]...\n" diff --git a/src/tools/ceph_conf.cc b/src/tools/ceph_conf.cc index d26cbb03994..a88e75b425a 100644 --- a/src/tools/ceph_conf.cc +++ b/src/tools/ceph_conf.cc @@ -22,6 +22,10 @@ using std::deque; using std::string; +using std::unique_ptr; +using std::cerr; +using std::cout; +using std::vector; static void usage(std::ostream& out) { @@ -248,7 +252,7 @@ int main(int argc, const char **argv) cerr << "unable to parse option: '" << *i << "'" << std::endl; cerr << "args:"; for (auto arg : orig_args) { - cerr << " " << quoted(arg); + cerr << " " << std::quoted(arg); } cerr << std::endl; usage(cerr); diff --git a/src/tools/ceph_dedup_tool.cc b/src/tools/ceph_dedup_tool.cc index e215fbe3887..507ff99b8f4 100644 --- a/src/tools/ceph_dedup_tool.cc +++ b/src/tools/ceph_dedup_tool.cc @@ -49,6 +49,8 @@ #include "global/signal_handler.h" #include "common/CDC.h" +using namespace std; + struct EstimateResult { std::unique_ptr cdc; diff --git a/src/tools/ceph_kvstore_tool.cc b/src/tools/ceph_kvstore_tool.cc index fdcf54fb1dd..4d32415ad16 100644 --- a/src/tools/ceph_kvstore_tool.cc +++ b/src/tools/ceph_kvstore_tool.cc @@ -26,6 +26,8 @@ #include "kvstore_tool.h" +using namespace std; + void usage(const char *pname) { std::cout << "Usage: " << pname << " command [args...]\n" diff --git a/src/tools/ceph_monstore_tool.cc b/src/tools/ceph_monstore_tool.cc index 05c815f0e39..69782690b40 100644 --- a/src/tools/ceph_monstore_tool.cc +++ b/src/tools/ceph_monstore_tool.cc @@ -38,6 +38,8 @@ namespace po = boost::program_options; +using namespace std; + class TraceIter { int fd; unsigned idx; diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index c4d30cc444b..8690bd96a18 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -46,6 +46,7 @@ #include "include/compat.h" #include "include/util.h" +using namespace std; namespace po = boost::program_options; #ifdef INTERNAL_TEST diff --git a/src/tools/ceph_osdomap_tool.cc b/src/tools/ceph_osdomap_tool.cc index 8e15851d848..507587d3684 100644 --- a/src/tools/ceph_osdomap_tool.cc +++ b/src/tools/ceph_osdomap_tool.cc @@ -22,6 +22,7 @@ #include "os/filestore/DBObjectMap.h" #include "kv/KeyValueDB.h" +using namespace std; namespace po = boost::program_options; int main(int argc, char **argv) { diff --git a/src/tools/crushtool.cc b/src/tools/crushtool.cc index 6d996e73da1..4a064931cda 100644 --- a/src/tools/crushtool.cc +++ b/src/tools/crushtool.cc @@ -41,6 +41,18 @@ #define dout_context g_ceph_context #define dout_subsys ceph_subsys_crush +using std::cerr; +using std::cout; +using std::decay_t; +using std::ifstream; +using std::ios; +using std::is_same_v; +using std::map; +using std::ofstream; +using std::pair; +using std::set; +using std::string; +using std::vector; const char *infn = "stdin"; diff --git a/src/tools/immutable_object_cache/ObjectCacheStore.h b/src/tools/immutable_object_cache/ObjectCacheStore.h index 607921320ae..4cf4ca0d9a6 100644 --- a/src/tools/immutable_object_cache/ObjectCacheStore.h +++ b/src/tools/immutable_object_cache/ObjectCacheStore.h @@ -20,8 +20,8 @@ class Context; namespace ceph { namespace immutable_obj_cache { -typedef shared_ptr RadosRef; -typedef shared_ptr IoCtxRef; +typedef std::shared_ptr RadosRef; +typedef std::shared_ptr IoCtxRef; class ObjectCacheStore { public: diff --git a/src/tools/immutable_object_cache/Types.cc b/src/tools/immutable_object_cache/Types.cc index 860017d6aae..fc3eaa308a1 100644 --- a/src/tools/immutable_object_cache/Types.cc +++ b/src/tools/immutable_object_cache/Types.cc @@ -112,7 +112,7 @@ void ObjectCacheReadData::decode_payload(bufferlist::const_iterator i, } ObjectCacheReadReplyData::ObjectCacheReadReplyData(uint16_t t, uint64_t s, - string cache_path) + std::string cache_path) : ObjectCacheRequest(t, s), cache_path(cache_path) {} ObjectCacheReadReplyData::ObjectCacheReadReplyData(uint16_t t, uint64_t s) : ObjectCacheRequest(t, s) {} diff --git a/src/tools/kvstore_tool.cc b/src/tools/kvstore_tool.cc index 88d2b50722c..1e01b1792e7 100644 --- a/src/tools/kvstore_tool.cc +++ b/src/tools/kvstore_tool.cc @@ -12,6 +12,8 @@ #include "kv/KeyValueDB.h" #include "kv/KeyValueHistogram.h" +using namespace std; + StoreTool::StoreTool(const string& type, const string& path, bool to_repair, diff --git a/src/tools/monmaptool.cc b/src/tools/monmaptool.cc index 23962997d21..ae8fccf5392 100644 --- a/src/tools/monmaptool.cc +++ b/src/tools/monmaptool.cc @@ -20,6 +20,15 @@ #include "include/str_list.h" #include "mon/MonMap.h" +using std::cerr; +using std::cout; +using std::list; +using std::map; +using std::ostream; +using std::set; +using std::string; +using std::string_view; +using std::vector; void usage() { diff --git a/src/tools/osdmaptool.cc b/src/tools/osdmaptool.cc index b876d6148ce..0cbaffcd1a6 100644 --- a/src/tools/osdmaptool.cc +++ b/src/tools/osdmaptool.cc @@ -26,6 +26,7 @@ #include "global/global_init.h" #include "osd/OSDMap.h" +using namespace std; void usage() { diff --git a/src/tools/psim.cc b/src/tools/psim.cc index 90e6fb95899..965b09d0bc5 100644 --- a/src/tools/psim.cc +++ b/src/tools/psim.cc @@ -4,6 +4,8 @@ #include "osd/OSDMap.h" #include "include/buffer.h" +using namespace std; + int main(int argc, char **argv) { /* diff --git a/src/tools/rados/PoolDump.cc b/src/tools/rados/PoolDump.cc index 207017036ee..9f51a139163 100644 --- a/src/tools/rados/PoolDump.cc +++ b/src/tools/rados/PoolDump.cc @@ -18,6 +18,10 @@ #include "PoolDump.h" using namespace librados; +using std::cerr; +using std::less; +using std::map; +using std::string; #define dout_context g_ceph_context #define dout_subsys ceph_subsys_rados diff --git a/src/tools/rados/RadosImport.cc b/src/tools/rados/RadosImport.cc index 0a901b70945..0b27c077b21 100644 --- a/src/tools/rados/RadosImport.cc +++ b/src/tools/rados/RadosImport.cc @@ -21,6 +21,11 @@ #define dout_context g_ceph_context #define dout_subsys ceph_subsys_rados +using std::cerr; +using std::cout; +using std::map; +using std::string; + int RadosImport::import(std::string pool, bool no_overwrite) { librados::IoCtx ioctx; diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index 79aa7cc634f..75a7ad07c43 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -60,8 +60,24 @@ #include "osd/ECUtil.h" +using namespace std::chrono_literals; using namespace librados; using ceph::util::generate_random_number; +using std::cerr; +using std::cout; +using std::dec; +using std::hex; +using std::less; +using std::list; +using std::map; +using std::multiset; +using std::ofstream; +using std::ostream; +using std::pair; +using std::set; +using std::string; +using std::unique_ptr; +using std::vector; // two steps seem to be necessary to do this right #define STR(x) _STR(x) @@ -989,7 +1005,7 @@ int LoadGen::run() ++total_sec; std::streamsize original_precision = cout.precision(); cout.precision(3); - cout << setw(5) << total_sec << ": throughput=" << rate << "MB/sec" << " pending data=" << sent - completed << std::endl; + cout << std::setw(5) << total_sec << ": throughput=" << rate << "MB/sec" << " pending data=" << sent - completed << std::endl; cout.precision(original_precision); stamp_time = now; } diff --git a/src/tools/radosacl.cc b/src/tools/radosacl.cc index 3b071705b01..3bfef8fb157 100644 --- a/src/tools/radosacl.cc +++ b/src/tools/radosacl.cc @@ -19,6 +19,7 @@ #include "include/types.h" #include "include/rados/librados.hpp" +using namespace std; using namespace librados; void buf_to_hex(const unsigned char *buf, int len, char *str) diff --git a/src/tools/rbd_wnbd/rbd_wnbd.cc b/src/tools/rbd_wnbd/rbd_wnbd.cc index d2bb9d8e96e..0c11c28fe28 100644 --- a/src/tools/rbd_wnbd/rbd_wnbd.cc +++ b/src/tools/rbd_wnbd/rbd_wnbd.cc @@ -53,6 +53,7 @@ #undef dout_prefix #define dout_prefix *_dout << "rbd-wnbd: " +using namespace std; using boost::locale::conv::utf_to_utf; std::wstring to_wstring(const std::string& str) diff --git a/src/tools/rebuild_mondb.cc b/src/tools/rebuild_mondb.cc index 8e3d5b45888..17e4dadcfdd 100644 --- a/src/tools/rebuild_mondb.cc +++ b/src/tools/rebuild_mondb.cc @@ -5,6 +5,8 @@ #include "os/ObjectStore.h" #include "osd/OSD.h" +using namespace std; + static int update_auth(const string& keyring_path, const OSDSuperblock& sb, MonitorDBStore& ms); diff --git a/src/tools/scratchtoolpp.cc b/src/tools/scratchtoolpp.cc index 26a35bebce7..0794e42f4bc 100644 --- a/src/tools/scratchtoolpp.cc +++ b/src/tools/scratchtoolpp.cc @@ -27,6 +27,8 @@ using namespace librados; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" +using namespace std; + void buf_to_hex(const unsigned char *buf, int len, char *str) { str[0] = '\0'; -- 2.39.5