diff options
author | Adam C. Emerson <aemerson@redhat.com> | 2022-01-21 19:56:07 -0500 |
---|---|---|
committer | Adam C. Emerson <aemerson@redhat.com> | 2022-01-21 22:28:28 -0500 |
commit | 6bb7dce6a5a3501d5f13da81cad582d366883502 (patch) | |
tree | 76996039e3be4c454a60d6d2311c2c849422b63b | |
parent | 3c02841a56f871b247107fcbccb91976b9605f89 (diff) | |
download | ceph-6bb7dce6a5a3501d5f13da81cad582d366883502.tar.gz |
{osd,crimson}: Remove straggling `using namespace std` from headers
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
-rw-r--r-- | src/crimson/admin/admin_socket.cc | 1 | ||||
-rw-r--r-- | src/crimson/admin/admin_socket.h | 2 | ||||
-rw-r--r-- | src/crimson/admin/osd_admin.cc | 1 | ||||
-rw-r--r-- | src/crimson/osd/main.cc | 1 | ||||
-rw-r--r-- | src/osd/scrubber/scrub_machine.h | 2 | ||||
-rw-r--r-- | src/test/osd/RadosModel.h | 731 | ||||
-rw-r--r-- | src/test/osd/TestOpStat.cc | 14 |
7 files changed, 366 insertions, 386 deletions
diff --git a/src/crimson/admin/admin_socket.cc b/src/crimson/admin/admin_socket.cc index 1593123eb00..de7db209d2e 100644 --- a/src/crimson/admin/admin_socket.cc +++ b/src/crimson/admin/admin_socket.cc @@ -21,6 +21,7 @@ #include "crimson/net/Socket.h" using namespace crimson::common; +using namespace std::literals; namespace { seastar::logger& logger() diff --git a/src/crimson/admin/admin_socket.h b/src/crimson/admin/admin_socket.h index a7540a6071f..8bf9fd4d301 100644 --- a/src/crimson/admin/admin_socket.h +++ b/src/crimson/admin/admin_socket.h @@ -22,8 +22,6 @@ #include "include/buffer.h" #include "crimson/net/Fwd.h" -using namespace std::literals; - class MCommand; namespace crimson::admin { diff --git a/src/crimson/admin/osd_admin.cc b/src/crimson/admin/osd_admin.cc index e8320458834..97c7f9a2992 100644 --- a/src/crimson/admin/osd_admin.cc +++ b/src/crimson/admin/osd_admin.cc @@ -24,6 +24,7 @@ seastar::logger& logger() } } // namespace +using namespace std::literals; using std::string_view; using std::unique_ptr; using crimson::osd::OSD; diff --git a/src/crimson/osd/main.cc b/src/crimson/osd/main.cc index a7afaee66a3..69eaf52097e 100644 --- a/src/crimson/osd/main.cc +++ b/src/crimson/osd/main.cc @@ -28,6 +28,7 @@ #include "osd.h" +using namespace std::literals; namespace bpo = boost::program_options; using config_t = crimson::common::ConfigProxy; using std::string; diff --git a/src/osd/scrubber/scrub_machine.h b/src/osd/scrubber/scrub_machine.h index d9132eedca8..d4fc0f8359a 100644 --- a/src/osd/scrubber/scrub_machine.h +++ b/src/osd/scrubber/scrub_machine.h @@ -20,8 +20,6 @@ #include "scrub_machine_lstnr.h" #include "osd/scrubber_common.h" -using namespace std::string_literals; - class PG; // holding a pointer to that one - just for testing class PgScrubber; namespace Scrub { diff --git a/src/test/osd/RadosModel.h b/src/test/osd/RadosModel.h index a429476749d..7f4de6162fe 100644 --- a/src/test/osd/RadosModel.h +++ b/src/test/osd/RadosModel.h @@ -30,8 +30,6 @@ #ifndef RADOSMODEL_H #define RADOSMODEL_H -using namespace std; - class RadosTestContext; class TestOpStat; @@ -90,7 +88,7 @@ public: } void handle_error(uint64_t cookie, int err) override { std::lock_guard l{lock}; - cout << "watch handle_error " << err << std::endl; + std::cout << "watch handle_error " << err << std::endl; } void start() { std::lock_guard l{lock}; @@ -143,7 +141,7 @@ public: { return; } - virtual string getType() = 0; + virtual std::string getType() = 0; virtual bool finished() { return true; @@ -165,29 +163,29 @@ public: ceph::mutex state_lock = ceph::make_mutex("Context Lock"); ceph::condition_variable wait_cond; // snap => {oid => desc} - map<int, map<string,ObjectDesc> > pool_obj_cont; - set<string> oid_in_use; - set<string> oid_not_in_use; - set<string> oid_flushing; - set<string> oid_not_flushing; - set<string> oid_redirect_not_in_use; - set<string> oid_redirect_in_use; - set<string> oid_set_chunk_tgt_pool; + std::map<int, std::map<std::string,ObjectDesc> > pool_obj_cont; + std::set<std::string> oid_in_use; + std::set<std::string> oid_not_in_use; + std::set<std::string> oid_flushing; + std::set<std::string> oid_not_flushing; + std::set<std::string> oid_redirect_not_in_use; + std::set<std::string> oid_redirect_in_use; + std::set<std::string> oid_set_chunk_tgt_pool; SharedPtrRegistry<int, int> snaps_in_use; int current_snap; - string pool_name; + std::string pool_name; librados::IoCtx io_ctx; librados::Rados rados; int next_oid; - string prefix; + std::string prefix; int errors; int max_in_flight; int seq_num; - map<int,uint64_t> snaps; + std::map<int,uint64_t> snaps; uint64_t seq; const char *rados_id; bool initialized; - map<string, TestWatchContext*> watches; + std::map<std::string, TestWatchContext*> watches; const uint64_t max_size; const uint64_t min_stride_size; const uint64_t max_stride_size; @@ -196,15 +194,15 @@ public: const bool no_sparse; bool pool_snaps; bool write_fadvise_dontneed; - string low_tier_pool_name; + std::string low_tier_pool_name; librados::IoCtx low_tier_io_ctx; int snapname_num; - map<string,string > redirect_objs; + std::map<std::string, std::string> redirect_objs; bool enable_dedup; - string chunk_algo; - string chunk_size; + std::string chunk_algo; + std::string chunk_size; - RadosTestContext(const string &pool_name, + RadosTestContext(const std::string &pool_name, int max_in_flight, uint64_t max_size, uint64_t min_stride_size, @@ -213,10 +211,10 @@ public: bool no_sparse, bool pool_snaps, bool write_fadvise_dontneed, - const string &low_tier_pool_name, + const std::string &low_tier_pool_name, bool enable_dedup, - string chunk_algo, - string chunk_size, + std::string chunk_algo, + std::string chunk_size, const char *id = 0) : pool_obj_cont(), current_snap(0), @@ -313,7 +311,7 @@ public: char hostname_cstr[100]; gethostname(hostname_cstr, 100); - stringstream hostpid; + std::stringstream hostpid; hostpid << hostname_cstr << getpid() << "-"; prefix = hostpid.str(); ceph_assert(!initialized); @@ -331,7 +329,7 @@ public: void loop(TestOpGenerator *gen) { ceph_assert(initialized); - list<TestOp*> inflight; + std::list<TestOp*> inflight; std::unique_lock state_locker{state_lock}; TestOp *next = gen->next(*this); @@ -351,19 +349,19 @@ public: } state_lock.lock(); while (1) { - for (list<TestOp*>::iterator i = inflight.begin(); + for (auto i = inflight.begin(); i != inflight.end();) { if ((*i)->finished()) { - cout << (*i)->num << ": done (" << (inflight.size()-1) << " left)" << std::endl; + std::cout << (*i)->num << ": done (" << (inflight.size()-1) << " left)" << std::endl; delete *i; inflight.erase(i++); } else { ++i; } } - + if (inflight.size() >= (unsigned) max_in_flight || (!next && !inflight.empty())) { - cout << " waiting on " << inflight.size() << std::endl; + std::cout << " waiting on " << inflight.size() << std::endl; wait_cond.wait(state_locker); } else { break; @@ -383,28 +381,27 @@ public: wait_cond.notify_all(); } - TestWatchContext *get_watch_context(const string &oid) { + TestWatchContext *get_watch_context(const std::string &oid) { return watches.count(oid) ? watches[oid] : 0; } - TestWatchContext *watch(const string &oid) { + TestWatchContext *watch(const std::string &oid) { ceph_assert(!watches.count(oid)); return (watches[oid] = new TestWatchContext); } - void unwatch(const string &oid) { + void unwatch(const std::string &oid) { ceph_assert(watches.count(oid)); delete watches[oid]; watches.erase(oid); } - ObjectDesc get_most_recent(const string &oid) { + ObjectDesc get_most_recent(const std::string &oid) { ObjectDesc new_obj; - for (map<int, map<string,ObjectDesc> >::reverse_iterator i = - pool_obj_cont.rbegin(); + for (auto i = pool_obj_cont.rbegin(); i != pool_obj_cont.rend(); ++i) { - map<string,ObjectDesc>::iterator j = i->second.find(oid); + std::map<std::string,ObjectDesc>::iterator j = i->second.find(oid); if (j != i->second.end()) { new_obj = j->second; break; @@ -413,10 +410,10 @@ public: return new_obj; } - void rm_object_attrs(const string &oid, const set<string> &attrs) + void rm_object_attrs(const std::string &oid, const std::set<std::string> &attrs) { ObjectDesc new_obj = get_most_recent(oid); - for (set<string>::const_iterator i = attrs.begin(); + for (std::set<std::string>::const_iterator i = attrs.begin(); i != attrs.end(); ++i) { new_obj.attrs.erase(*i); @@ -426,7 +423,7 @@ public: pool_obj_cont[current_snap].insert_or_assign(oid, new_obj); } - void remove_object_header(const string &oid) + void remove_object_header(const std::string &oid) { ObjectDesc new_obj = get_most_recent(oid); new_obj.header = bufferlist(); @@ -436,7 +433,7 @@ public: } - void update_object_header(const string &oid, const bufferlist &bl) + void update_object_header(const std::string &oid, const bufferlist &bl) { ObjectDesc new_obj = get_most_recent(oid); new_obj.header = bl; @@ -446,11 +443,11 @@ public: pool_obj_cont[current_snap].insert_or_assign(oid, new_obj); } - void update_object_attrs(const string &oid, const map<string, ContDesc> &attrs) + void update_object_attrs(const std::string &oid, const std::map<std::string, ContDesc> &attrs) { ObjectDesc new_obj = get_most_recent(oid); - for (map<string, ContDesc>::const_iterator i = attrs.begin(); - i != attrs.end(); + for (auto i = attrs.cbegin(); + i != attrs.cend(); ++i) { new_obj.attrs[i->first] = i->second; } @@ -461,7 +458,7 @@ public: } void update_object(ContentsGenerator *cont_gen, - const string &oid, const ContDesc &contents) + const std::string &oid, const ContDesc &contents) { ObjectDesc new_obj = get_most_recent(oid); new_obj.exists = true; @@ -472,54 +469,52 @@ public: pool_obj_cont[current_snap].insert_or_assign(oid, new_obj); } - void update_object_full(const string &oid, const ObjectDesc &contents) + void update_object_full(const std::string &oid, const ObjectDesc &contents) { pool_obj_cont[current_snap].insert_or_assign(oid, contents); pool_obj_cont[current_snap][oid].dirty = true; } - void update_object_undirty(const string &oid) + void update_object_undirty(const std::string &oid) { ObjectDesc new_obj = get_most_recent(oid); new_obj.dirty = false; pool_obj_cont[current_snap].insert_or_assign(oid, new_obj); } - void update_object_version(const string &oid, uint64_t version, + void update_object_version(const std::string &oid, uint64_t version, int snap = -1) { - for (map<int, map<string,ObjectDesc> >::reverse_iterator i = - pool_obj_cont.rbegin(); + for (auto i = pool_obj_cont.rbegin(); i != pool_obj_cont.rend(); ++i) { if (snap != -1 && snap < i->first) continue; - map<string,ObjectDesc>::iterator j = i->second.find(oid); + std::map<std::string,ObjectDesc>::iterator j = i->second.find(oid); if (j != i->second.end()) { if (version) j->second.version = version; - cout << __func__ << " oid " << oid - << " v " << version << " " << j->second.most_recent() - << " " << (j->second.dirty ? "dirty" : "clean") - << " " << (j->second.exists ? "exists" : "dne") - << std::endl; + std::cout << __func__ << " oid " << oid + << " v " << version << " " << j->second.most_recent() + << " " << (j->second.dirty ? "dirty" : "clean") + << " " << (j->second.exists ? "exists" : "dne") + << std::endl; break; } } } - void remove_object(const string &oid) + void remove_object(const std::string &oid) { ceph_assert(!get_watch_context(oid)); ObjectDesc new_obj; pool_obj_cont[current_snap].insert_or_assign(oid, new_obj); } - bool find_object(const string &oid, ObjectDesc *contents, int snap = -1) const + bool find_object(const std::string &oid, ObjectDesc *contents, int snap = -1) const { - for (map<int, map<string,ObjectDesc> >::const_reverse_iterator i = - pool_obj_cont.rbegin(); - i != pool_obj_cont.rend(); + for (auto i = pool_obj_cont.crbegin(); + i != pool_obj_cont.crend(); ++i) { if (snap != -1 && snap < i->first) continue; if (i->second.count(oid) != 0) { @@ -530,16 +525,15 @@ public: return false; } - void update_object_redirect_target(const string &oid, const string &target) + void update_object_redirect_target(const std::string &oid, const std::string &target) { redirect_objs[oid] = target; } - void update_object_chunk_target(const string &oid, uint64_t offset, const ChunkDesc &info) + void update_object_chunk_target(const std::string &oid, uint64_t offset, const ChunkDesc &info) { - for (map<int, map<string,ObjectDesc> >::const_reverse_iterator i = - pool_obj_cont.rbegin(); - i != pool_obj_cont.rend(); + for (auto i = pool_obj_cont.crbegin(); + i != pool_obj_cont.crend(); ++i) { if (i->second.count(oid) != 0) { ObjectDesc obj_desc = i->second.find(oid)->second; @@ -551,7 +545,7 @@ public: return; } - bool object_existed_at(const string &oid, int snap = -1) const + bool object_existed_at(const std::string &oid, int snap = -1) const { ObjectDesc contents; bool found = find_object(oid, &contents, snap); @@ -560,17 +554,15 @@ public: void remove_snap(int snap) { - map<int, map<string,ObjectDesc> >::iterator next_iter = pool_obj_cont.find(snap); + std::map<int, std::map<std::string,ObjectDesc> >::iterator next_iter = pool_obj_cont.find(snap); ceph_assert(next_iter != pool_obj_cont.end()); - map<int, map<string,ObjectDesc> >::iterator current_iter = next_iter++; + std::map<int, std::map<std::string,ObjectDesc> >::iterator current_iter = next_iter++; ceph_assert(current_iter != pool_obj_cont.end()); - map<string,ObjectDesc> ¤t = current_iter->second; - map<string,ObjectDesc> &next = next_iter->second; - for (map<string,ObjectDesc>::iterator i = current.begin(); - i != current.end(); - ++i) { + std::map<std::string,ObjectDesc> ¤t = current_iter->second; + std::map<std::string,ObjectDesc> &next = next_iter->second; + for (auto i = current.begin(); i != current.end(); ++i) { if (next.count(i->first) == 0) { - next.insert(pair<string,ObjectDesc>(i->first, i->second)); + next.insert(std::pair<std::string,ObjectDesc>(i->first, i->second)); } } pool_obj_cont.erase(current_iter); @@ -585,7 +577,7 @@ public: seq = snap; } - void roll_back(const string &oid, int snap) + void roll_back(const std::string &oid, int snap) { ceph_assert(!get_watch_context(oid)); ObjectDesc contents; @@ -595,15 +587,14 @@ public: pool_obj_cont.rbegin()->second.insert_or_assign(oid, contents); } - void update_object_tier_flushed(const string &oid, int snap) + void update_object_tier_flushed(const std::string &oid, int snap) { - for (map<int, map<string,ObjectDesc> >::reverse_iterator i = - pool_obj_cont.rbegin(); + for (auto i = pool_obj_cont.rbegin(); i != pool_obj_cont.rend(); ++i) { if (snap != -1 && snap < i->first) continue; - map<string,ObjectDesc>::iterator j = i->second.find(oid); + std::map<std::string,ObjectDesc>::iterator j = i->second.find(oid); if (j != i->second.end()) { j->second.flushed = true; break; @@ -611,20 +602,19 @@ public: } } - bool check_oldest_snap_flushed(const string &oid, int snap) + bool check_oldest_snap_flushed(const std::string &oid, int snap) { - for (map<int, map<string,ObjectDesc> >::reverse_iterator i = - pool_obj_cont.rbegin(); + for (auto i = pool_obj_cont.rbegin(); i != pool_obj_cont.rend(); ++i) { if (snap != -1 && snap < i->first) continue; - map<string,ObjectDesc>::iterator j = i->second.find(oid); + std::map<std::string,ObjectDesc>::iterator j = i->second.find(oid); if (j != i->second.end() && !j->second.flushed) { - cout << __func__ << " oid " << oid - << " v " << j->second.version << " " << j->second.most_recent() - << " " << (j->second.flushed ? "flushed" : "unflushed") - << " " << i->first << std::endl; + std::cout << __func__ << " oid " << oid + << " v " << j->second.version << " " << j->second.most_recent() + << " " << (j->second.flushed ? "flushed" : "unflushed") + << " " << i->first << std::endl; return false; } } @@ -654,7 +644,7 @@ public: std::vector<librados::ObjectItem> result; int r = chunk_pool_ctx.object_list(c, shard_end, 12, {}, &result, &c); if (r < 0) { - cerr << "error object_list : " << cpp_strerror(r) << std::endl; + std::cerr << "error object_list : " << cpp_strerror(r) << std::endl; return false; } @@ -691,7 +681,7 @@ public: break; } if (src_refcount > dst_refcount) { - cerr << " src_object " << pp + std::cerr << " src_object " << pp << ": src_refcount " << src_refcount << ", dst_object " << oid << ": dst_refcount " << dst_refcount @@ -712,11 +702,11 @@ void write_callback(librados::completion_t comp, void *arg); /// entries if @c no_omap is not specified in context class RemoveAttrsOp : public TestOp { public: - string oid; + std::string oid; librados::ObjectWriteOperation op; librados::AioCompletion *comp; RemoveAttrsOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), oid(oid), comp(NULL) {} @@ -724,7 +714,7 @@ public: void _begin() override { ContDesc cont; - set<string> to_remove; + std::set<std::string> to_remove; { std::lock_guard l{context->state_lock}; ObjectDesc obj; @@ -740,7 +730,7 @@ public: if (rand() % 30) { ContentsGenerator::iterator iter = context->attr_gen.get_iterator(cont); - for (map<string, ContDesc>::iterator i = obj.attrs.begin(); + for (auto i = obj.attrs.begin(); i != obj.attrs.end(); ++i, ++iter) { if (!(*iter % 3)) { @@ -762,7 +752,7 @@ public: if (!context->no_omap) { op.omap_clear(); } - for (map<string, ContDesc>::iterator i = obj.attrs.begin(); + for (auto i = obj.attrs.begin(); i != obj.attrs.end(); ++i) { op.rmxattr(i->first.c_str()); @@ -773,8 +763,8 @@ public: context->rm_object_attrs(oid, to_remove); } - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); @@ -796,7 +786,7 @@ public: return done; } - string getType() override + std::string getType() override { return "RemoveAttrsOp"; } @@ -806,12 +796,12 @@ public: /// entries if @c no_omap is not specified in context class SetAttrsOp : public TestOp { public: - string oid; + std::string oid; librados::ObjectWriteOperation op; librados::AioCompletion *comp; SetAttrsOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), oid(oid), comp(NULL) @@ -828,8 +818,8 @@ public: context->oid_not_in_use.erase(oid); } - map<string, bufferlist> omap_contents; - map<string, ContDesc> omap; + std::map<std::string, bufferlist> omap_contents; + std::map<std::string, ContDesc> omap; bufferlist header; ContentsGenerator::iterator keygen = context->attr_gen.get_iterator(cont); op.create(false); @@ -840,7 +830,7 @@ public: ++keygen; } for (int i = 0; i < 20; ++i) { - string key; + std::string key; while (!*keygen) ++keygen; while (*keygen && key.size() < 40) { key.push_back((*keygen % 20) + 'a'); @@ -865,8 +855,8 @@ public: context->update_object_attrs(oid, omap); } - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); context->io_ctx.aio_operate(context->prefix+oid, comp, &op); @@ -877,7 +867,7 @@ public: std::lock_guard l{context->state_lock}; int r; if ((r = comp->get_return_value())) { - cerr << "err " << r << std::endl; + std::cerr << "err " << r << std::endl; ceph_abort(); } done = true; @@ -892,7 +882,7 @@ public: return done; } - string getType() override + std::string getType() override { return "SetAttrsOp"; } @@ -900,9 +890,9 @@ public: class WriteOp : public TestOp { public: - const string oid; + const std::string oid; ContDesc cont; - set<librados::AioCompletion *> waiting; + std::set<librados::AioCompletion *> waiting; librados::AioCompletion *rcompletion = nullptr; // numbers of async ops submitted uint64_t waiting_on = 0; @@ -917,7 +907,7 @@ public: WriteOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, bool do_append, bool do_excl, TestOpStat *stat = 0) @@ -930,10 +920,10 @@ public: void _begin() override { assert(!done); - stringstream acc; + std::stringstream acc; std::lock_guard state_locker{context->state_lock}; acc << context->prefix << "OID: " << oid << " snap " << context->current_snap << std::endl; - string prefix = acc.str(); + std::string prefix = acc.str(); cont = ContDesc(context->seq_num, context->current_snap, context->seq_num, prefix); @@ -968,7 +958,7 @@ public: context->oid_in_use.insert(oid); context->oid_not_in_use.erase(oid); - map<uint64_t, uint64_t> ranges; + std::map<uint64_t, uint64_t> ranges; cont_gen->get_ranges_map(cont, ranges); std::cout << num << ": seq_num " << context->seq_num << " ranges " << ranges << std::endl; @@ -987,7 +977,7 @@ public: << " from " << offset << " to " << len + offset << " tid " << tid << std::endl; auto cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(tid++)); librados::AioCompletion *completion = context->rados.aio_create_completion((void*) cb_arg, &write_callback); @@ -1007,8 +997,8 @@ public: bufferlist contbl; encode(cont, contbl); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>( + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>( this, new TestOp::CallbackInfo(tid++)); librados::AioCompletion *completion = context->rados.aio_create_completion( @@ -1023,7 +1013,7 @@ public: context->prefix+oid, completion, &write_op); cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>( + new std::pair<TestOp*, TestOp::CallbackInfo*>( this, new TestOp::CallbackInfo(tid++)); rcompletion = context->rados.aio_create_completion( @@ -1043,10 +1033,10 @@ public: std::lock_guard state_locker{context->state_lock}; uint64_t tid = info->id; - cout << num << ": finishing write tid " << tid << " to " << context->prefix + oid << std::endl; + std::cout << num << ": finishing write tid " << tid << " to " << context->prefix + oid << std::endl; if (tid <= last_acked_tid) { - cerr << "Error: finished tid " << tid + std::cerr << "Error: finished tid " << tid << " when last_acked_tid was " << last_acked_tid << std::endl; ceph_abort(); } @@ -1056,25 +1046,23 @@ public: waiting_on--; if (waiting_on == 0) { uint64_t version = 0; - for (set<librados::AioCompletion *>::iterator i = waiting.begin(); - i != waiting.end(); - ) { + for (auto i = waiting.begin(); i != waiting.end();) { ceph_assert((*i)->is_complete()); if (int err = (*i)->get_return_value()) { - cerr << "Error: oid " << oid << " write returned error code " - << err << std::endl; + std::cerr << "Error: oid " << oid << " write returned error code " + << err << std::endl; } if ((*i)->get_version64() > version) version = (*i)->get_version64(); (*i)->release(); waiting.erase(i++); } - + context->update_object_version(oid, version); if (rcompletion->get_version64() != version) { - cerr << "Error: racing read on " << oid << " returned version " - << rcompletion->get_version64() << " rather than version " - << version << std::endl; + std::cerr << "Error: racing read on " << oid << " returned version " + << rcompletion->get_version64() << " rather than version " + << version << std::endl; ceph_abort_msg("racing read got wrong version"); } @@ -1101,7 +1089,7 @@ public: return done; } - string getType() override + std::string getType() override { return "WriteOp"; } @@ -1109,9 +1097,9 @@ public: class WriteSameOp : public TestOp { public: - string oid; + std::string oid; ContDesc cont; - set<librados::AioCompletion *> waiting; + std::set<librados::AioCompletion *> waiting; librados::AioCompletion *rcompletion; uint64_t waiting_on; uint64_t last_acked_tid; @@ -1122,7 +1110,7 @@ public: WriteSameOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid), rcompletion(NULL), waiting_on(0), @@ -1133,9 +1121,9 @@ public: { std::lock_guard state_locker{context->state_lock}; done = 0; - stringstream acc; + std::stringstream acc; acc << context->prefix << "OID: " << oid << " snap " << context->current_snap << std::endl; - string prefix = acc.str(); + std::string prefix = acc.str(); cont = ContDesc(context->seq_num, context->current_snap, context->seq_num, prefix); @@ -1147,7 +1135,7 @@ public: context->oid_in_use.insert(oid); context->oid_not_in_use.erase(oid); - map<uint64_t, uint64_t> ranges; + std::map<uint64_t, uint64_t> ranges; cont_gen->get_ranges_map(cont, ranges); std::cout << num << ": seq_num " << context->seq_num << " ranges " << ranges << std::endl; @@ -1166,7 +1154,7 @@ public: << " from " << offset << " to " << offset + len << " tid " << tid << std::endl; auto cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(tid++)); librados::AioCompletion *completion = context->rados.aio_create_completion((void*) cb_arg, @@ -1183,8 +1171,8 @@ public: bufferlist contbl; encode(cont, contbl); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>( + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>( this, new TestOp::CallbackInfo(tid++)); librados::AioCompletion *completion = context->rados.aio_create_completion( @@ -1197,7 +1185,7 @@ public: context->prefix+oid, completion, &write_op); cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>( + new std::pair<TestOp*, TestOp::CallbackInfo*>( this, new TestOp::CallbackInfo(tid++)); rcompletion = context->rados.aio_create_completion( @@ -1217,10 +1205,10 @@ public: std::lock_guard state_locker{context->state_lock}; uint64_t tid = info->id; - cout << num << ": finishing writesame tid " << tid << " to " << context->prefix + oid << std::endl; + std::cout << num << ": finishing writesame tid " << tid << " to " << context->prefix + oid << std::endl; if (tid <= last_acked_tid) { - cerr << "Error: finished tid " << tid + std::cerr << "Error: finished tid " << tid << " when last_acked_tid was " << last_acked_tid << std::endl; ceph_abort(); } @@ -1230,12 +1218,10 @@ public: waiting_on--; if (waiting_on == 0) { uint64_t version = 0; - for (set<librados::AioCompletion *>::iterator i = waiting.begin(); - i != waiting.end(); - ) { + for (auto i = waiting.begin(); i != waiting.end();) { ceph_assert((*i)->is_complete()); if (int err = (*i)->get_return_value()) { - cerr << "Error: oid " << oid << " writesame returned error code " + std::cerr << "Error: oid " << oid << " writesame returned error code " << err << std::endl; } if ((*i)->get_version64() > version) @@ -1248,9 +1234,9 @@ public: ceph_assert(rcompletion->is_complete()); ceph_assert(rcompletion->get_return_value() == 1); if (rcompletion->get_version64() != version) { - cerr << "Error: racing read on " << oid << " returned version " - << rcompletion->get_version64() << " rather than version " - << version << std::endl; + std::cerr << "Error: racing read on " << oid << " returned version " + << rcompletion->get_version64() << " rather than version " + << version << std::endl; ceph_abort_msg("racing read got wrong version"); } rcompletion->release(); @@ -1277,7 +1263,7 @@ public: return done; } - string getType() override + std::string getType() override { return "WriteSameOp"; } @@ -1285,11 +1271,11 @@ public: class DeleteOp : public TestOp { public: - string oid; + std::string oid; DeleteOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid) {} @@ -1325,7 +1311,7 @@ public: r = context->io_ctx.remove(context->prefix+oid); } if (r && !(r == -ENOENT && !present)) { - cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; + std::cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; ceph_abort(); } @@ -1335,7 +1321,7 @@ public: context->kick(); } - string getType() override + std::string getType() override { return "DeleteOp"; } @@ -1343,9 +1329,9 @@ public: class ReadOp : public TestOp { public: - vector<librados::AioCompletion *> completions; + std::vector<librados::AioCompletion *> completions; librados::ObjectReadOperation op; - string oid; + std::string oid; ObjectDesc old_value; int snap; bool balance_reads; @@ -1353,28 +1339,28 @@ public: std::shared_ptr<int> in_use; - vector<bufferlist> results; - vector<int> retvals; - vector<std::map<uint64_t, uint64_t>> extent_results; - vector<bool> is_sparse_read; + std::vector<bufferlist> results; + std::vector<int> retvals; + std::vector<std::map<uint64_t, uint64_t>> extent_results; + std::vector<bool> is_sparse_read; uint64_t waiting_on; - vector<bufferlist> checksums; - vector<int> checksum_retvals; + std::vector<bufferlist> checksums; + std::vector<int> checksum_retvals; - map<string, bufferlist> attrs; + std::map<std::string, bufferlist> attrs; int attrretval; - set<string> omap_requested_keys; - map<string, bufferlist> omap_returned_values; - set<string> omap_keys; - map<string, bufferlist> omap; + std::set<std::string> omap_requested_keys; + std::map<std::string, bufferlist> omap_returned_values; + std::set<std::string> omap_keys; + std::map<std::string, bufferlist> omap; bufferlist header; - map<string, bufferlist> xattrs; + std::map<std::string, bufferlist> xattrs; ReadOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, bool balance_reads, bool localize_reads, TestOpStat *stat = 0) @@ -1464,11 +1450,9 @@ public: context->io_ctx.snap_set_read(context->snaps[snap]); } _do_read(op, 0); - for (map<string, ContDesc>::iterator i = old_value.attrs.begin(); - i != old_value.attrs.end(); - ++i) { + for (auto i = old_value.attrs.begin(); i != old_value.attrs.end(); ++i) { if (rand() % 2) { - string key = i->first; + std::string key = i->first; if (rand() % 2) key.push_back((rand() % 26) + 'a'); omap_requested_keys.insert(key); @@ -1520,34 +1504,34 @@ public: context->oid_in_use.erase(oid); context->oid_not_in_use.insert(oid); int retval = completions[0]->get_return_value(); - for (vector<librados::AioCompletion *>::iterator it = completions.begin(); + for (auto it = completions.begin(); it != completions.end(); ++it) { ceph_assert((*it)->is_complete()); uint64_t version = (*it)->get_version64(); int err = (*it)->get_return_value(); if (err != retval) { - cerr << num << ": Error: oid " << oid << " read returned different error codes: " + std::cerr << num << ": Error: oid " << oid << " read returned different error codes: " << retval << " and " << err << std::endl; ceph_abort(); } if (err) { if (!(err == -ENOENT && old_value.deleted())) { - cerr << num << ": Error: oid " << oid << " read returned error code " + std::cerr << num << ": Error: oid " << oid << " read returned error code " << err << std::endl; ceph_abort(); } } else if (version != old_value.version) { - cerr << num << ": oid " << oid << " version is " << version - << " and expected " << old_value.version << std::endl; + std::cerr << num << ": oid " << oid << " version is " << version + << " and expected " << old_value.version << std::endl; ceph_assert(version == old_value.version); } } if (!retval) { - map<string, bufferlist>::iterator iter = xattrs.find("_header"); + std::map<std::string, bufferlist>::iterator iter = xattrs.find("_header"); bufferlist headerbl; if (iter == xattrs.end()) { if (old_value.has_contents()) { - cerr << num << ": Error: did not find header attr, has_contents: " + std::cerr << num << ": Error: did not find header attr, has_contents: " << old_value.has_contents() << std::endl; ceph_assert(!old_value.has_contents()); @@ -1567,19 +1551,19 @@ public: auto p = headerbl.cbegin(); decode(to_check, p); if (to_check != old_value.most_recent()) { - cerr << num << ": oid " << oid << " found incorrect object contents " << to_check + std::cerr << num << ": oid " << oid << " found incorrect object contents " << to_check << ", expected " << old_value.most_recent() << std::endl; context->errors++; } for (unsigned i = 0; i < results.size(); i++) { if (is_sparse_read[i]) { if (!old_value.check_sparse(extent_results[i], results[i])) { - cerr << num << ": oid " << oid << " contents " << to_check << " corrupt" << std::endl; + std::cerr << num << ": oid " << oid << " contents " << to_check << " corrupt" << std::endl; context->errors++; } } else { if (!old_value.check(results[i])) { - cerr << num << ": oid " << oid << " contents " << to_check << " corrupt" << std::endl; + std::cerr << num << ": oid " << oid << " contents " << to_check << " corrupt" << std::endl; context->errors++; } @@ -1595,7 +1579,7 @@ public: } } if (checksum_retvals[i] != 0 || checksum != results[i].crc32c(-1)) { - cerr << num << ": oid " << oid << " checksum " << checksums[i] + std::cerr << num << ": oid " << oid << " checksum " << checksums[i] << " incorrect, expecting " << results[i].crc32c(-1) << std::endl; context->errors++; @@ -1608,34 +1592,34 @@ public: // Attributes if (!context->no_omap) { if (!(old_value.header == header)) { - cerr << num << ": oid " << oid << " header does not match, old size: " + std::cerr << num << ": oid " << oid << " header does not match, old size: " << old_value.header.length() << " new size " << header.length() << std::endl; ceph_assert(old_value.header == header); } if (omap.size() != old_value.attrs.size()) { - cerr << num << ": oid " << oid << " omap.size() is " << omap.size() + std::cerr << num << ": oid " << oid << " omap.size() is " << omap.size() << " and old is " << old_value.attrs.size() << std::endl; ceph_assert(omap.size() == old_value.attrs.size()); } if (omap_keys.size() != old_value.attrs.size()) { - cerr << num << ": oid " << oid << " omap.size() is " << omap_keys.size() + std::cerr << num << ": oid " << oid << " omap.size() is " << omap_keys.size() << " and old is " << old_value.attrs.size() << std::endl; ceph_assert(omap_keys.size() == old_value.attrs.size()); } } if (xattrs.size() != old_value.attrs.size()) { - cerr << num << ": oid " << oid << " xattrs.size() is " << xattrs.size() - << " and old is " << old_value.attrs.size() << std::endl; + std::cerr << num << ": oid " << oid << " xattrs.size() is " << xattrs.size() + << " and old is " << old_value.attrs.size() << std::endl; ceph_assert(xattrs.size() == old_value.attrs.size()); } - for (map<string, ContDesc>::iterator iter = old_value.attrs.begin(); + for (auto iter = old_value.attrs.begin(); iter != old_value.attrs.end(); ++iter) { bufferlist bl = context->attr_gen.gen_bl( iter->second); if (!context->no_omap) { - map<string, bufferlist>::iterator omap_iter = omap.find(iter->first); + std::map<std::string, bufferlist>::iterator omap_iter = omap.find(iter->first); ceph_assert(omap_iter != omap.end()); ceph_assert(bl.length() == omap_iter->second.length()); bufferlist::iterator k = bl.begin(); @@ -1645,7 +1629,7 @@ public: ceph_assert(*l == *k); } } - map<string, bufferlist>::iterator xattr_iter = xattrs.find(iter->first); + auto xattr_iter = xattrs.find(iter->first); ceph_assert(xattr_iter != xattrs.end()); ceph_assert(bl.length() == xattr_iter->second.length()); bufferlist::iterator k = bl.begin(); @@ -1656,7 +1640,7 @@ public: } } if (!context->no_omap) { - for (set<string>::iterator i = omap_requested_keys.begin(); + for (std::set<std::string>::iterator i = omap_requested_keys.begin(); i != omap_requested_keys.end(); ++i) { if (!omap_returned_values.count(*i)) @@ -1664,7 +1648,7 @@ public: if (!old_value.attrs.count(*i)) ceph_assert(!omap_returned_values.count(*i)); } - for (map<string, bufferlist>::iterator i = omap_returned_values.begin(); + for (auto i = omap_returned_values.begin(); i != omap_returned_values.end(); ++i) { ceph_assert(omap_requested_keys.count(i->first)); @@ -1674,8 +1658,7 @@ public: } } } - for (vector<librados::AioCompletion *>::iterator it = completions.begin(); - it != completions.end(); ++it) { + for (auto it = completions.begin(); it != completions.end(); ++it) { (*it)->release(); } context->kick(); @@ -1687,7 +1670,7 @@ public: return done; } - string getType() override + std::string getType() override { return "ReadOp"; } @@ -1704,17 +1687,17 @@ public: void _begin() override { uint64_t snap; - string snapname; + std::string snapname; if (context->pool_snaps) { - stringstream ss; + std::stringstream ss; ss << context->prefix << "snap" << ++context->snapname_num; snapname = ss.str(); int ret = context->io_ctx.snap_create(snapname.c_str()); if (ret) { - cerr << "snap_create returned " << ret << std::endl; + std::cerr << "snap_create returned " << ret << std::endl; ceph_abort(); } ceph_assert(!context->io_ctx.snap_lookup(snapname.c_str(), &snap)); @@ -1727,10 +1710,10 @@ public: context->add_snap(snap); if (!context->pool_snaps) { - vector<uint64_t> snapset(context->snaps.size()); + std::vector<uint64_t> snapset(context->snaps.size()); int j = 0; - for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin(); + for (auto i = context->snaps.rbegin(); i != context->snaps.rend(); ++i, ++j) { snapset[j] = i->second; @@ -1740,13 +1723,13 @@ public: int r = context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset); if (r) { - cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl; + std::cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl; ceph_abort(); } } } - string getType() override + std::string getType() override { return "SnapCreateOp"; } @@ -1770,16 +1753,16 @@ public: context->remove_snap(to_remove); if (context->pool_snaps) { - string snapname; + std::string snapname; ceph_assert(!context->io_ctx.snap_get_name(snap, &snapname)); ceph_assert(!context->io_ctx.snap_remove(snapname.c_str())); } else { ceph_assert(!context->io_ctx.selfmanaged_snap_remove(snap)); - vector<uint64_t> snapset(context->snaps.size()); + std::vector<uint64_t> snapset(context->snaps.size()); int j = 0; - for (map<int,uint64_t>::reverse_iterator i = context->snaps.rbegin(); + for (auto i = context->snaps.rbegin(); i != context->snaps.rend(); ++i, ++j) { snapset[j] = i->second; @@ -1787,24 +1770,24 @@ public: int r = context->io_ctx.selfmanaged_snap_set_write_ctx(context->seq, snapset); if (r) { - cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl; + std::cerr << "r is " << r << " snapset is " << snapset << " seq is " << context->seq << std::endl; ceph_abort(); } } } - string getType() override + std::string getType() override { return "SnapRemoveOp"; } }; class WatchOp : public TestOp { - string oid; + std::string oid; public: WatchOp(int n, RadosTestContext *context, - const string &_oid, + const std::string &_oid, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(_oid) @@ -1843,7 +1826,7 @@ public: } if (r) { - cerr << "r is " << r << std::endl; + std::cerr << "r is " << r << std::endl; ceph_abort(); } @@ -1854,7 +1837,7 @@ public: } } - string getType() override + std::string getType() override { return "WatchOp"; } @@ -1862,19 +1845,19 @@ public: class RollbackOp : public TestOp { public: - string oid; + std::string oid; int roll_back_to; librados::ObjectWriteOperation zero_write_op1; librados::ObjectWriteOperation zero_write_op2; librados::ObjectWriteOperation op; - vector<librados::AioCompletion *> comps; + std::vector<librados::AioCompletion *> comps; std::shared_ptr<int> in_use; int last_finished; int outstanding; RollbackOp(int n, RadosTestContext *context, - const string &_oid, + const std::string &_oid, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(_oid), roll_back_to(-1), @@ -1907,7 +1890,7 @@ public: roll_back_to); - cout << "rollback oid " << oid << " to " << roll_back_to << std::endl; + std::cout << "rollback oid " << oid << " to " << roll_back_to << std::endl; bool existed_before = context->object_existed_at(oid); bool existed_after = context->object_existed_at(oid, roll_back_to); @@ -1930,8 +1913,8 @@ public: } if (existed_before) { - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comps[0] = context->rados.aio_create_completion((void*) cb_arg, @@ -1940,8 +1923,8 @@ public: context->prefix+oid, comps[0], &zero_write_op1); } { - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(1)); comps[1] = context->rados.aio_create_completion((void*) cb_arg, @@ -1950,8 +1933,8 @@ public: context->prefix+oid, comps[1], &op); } if (existed_after) { - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(2)); comps[2] = context->rados.aio_create_completion((void*) cb_arg, @@ -1965,14 +1948,14 @@ public: { std::lock_guard l{context->state_lock}; uint64_t tid = info->id; - cout << num << ": finishing rollback tid " << tid + std::cout << num << ": finishing rollback tid " << tid << " to " << context->prefix + oid << std::endl; ceph_assert((int)(info->id) > last_finished); last_finished = info->id; int r; if ((r = comps[last_finished]->get_return_value()) != 0) { - cerr << "err " << r << std::endl; + std::cerr << "err " << r << std::endl; ceph_abort(); } if (--outstanding == 0) { @@ -1990,7 +1973,7 @@ public: return done; } - string getType() override + std::string getType() override { return "RollBackOp"; } @@ -1998,7 +1981,7 @@ public: class CopyFromOp : public TestOp { public: - string oid, oid_src; + std::string oid, oid_src; ObjectDesc src_value; librados::ObjectWriteOperation op; librados::ObjectReadOperation rd_op; @@ -2011,8 +1994,8 @@ public: int r; CopyFromOp(int n, RadosTestContext *context, - const string &oid, - const string &oid_src, + const std::string &oid, + const std::string &oid_src, TestOpStat *stat) : TestOp(n, context, stat), oid(oid), oid_src(oid_src), @@ -2044,19 +2027,19 @@ public: context->update_object_full(oid, src_value); } - string src = context->prefix+oid_src; + std::string src = context->prefix+oid_src; op.copy_from(src.c_str(), context->io_ctx, src_value.version, 0); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); context->io_ctx.aio_operate(context->prefix+oid, comp, &op); // queue up a racing read, too. - pair<TestOp*, TestOp::CallbackInfo*> *read_cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *read_cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(1)); comp_racing_read = context->rados.aio_create_completion((void*) read_cb_arg, &write_callback); rd_op.stat(NULL, NULL, NULL); @@ -2077,12 +2060,12 @@ public: if (info->id == 0) { // copy_from ceph_assert(comp->is_complete()); - cout << num << ": finishing copy_from to " << context->prefix + oid << std::endl; + std::cout << num << ": finishing copy_from to " << context->prefix + oid << std::endl; if ((r = comp->get_return_value())) { if (r == -ENOENT && src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else { - cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code " + std::cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code " << r << std::endl; ceph_abort(); } @@ -2094,10 +2077,10 @@ public: } else if (info->id == 1) { // racing read ceph_assert(comp_racing_read->is_complete()); - cout << num << ": finishing copy_from racing read to " << context->prefix + oid << std::endl; + std::cout << num << ": finishing copy_from racing read to " << context->prefix + oid << std::endl; if ((r = comp_racing_read->get_return_value())) { if (!(r == -ENOENT && src_value.deleted())) { - cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code " + std::cerr << "Error: oid " << oid << " copy_from " << oid_src << " returned error code " << r << std::endl; } } else { @@ -2120,7 +2103,7 @@ public: return done == 2; } - string getType() override + std::string getType() override { return "CopyFromOp"; } @@ -2128,9 +2111,9 @@ public: class ChunkReadOp : public TestOp { public: - vector<librados::AioCompletion *> completions; + std::vector<librados::AioCompletion *> completions; librados::ObjectReadOperation op; - string oid; + std::string oid; ObjectDesc old_value; ObjectDesc tgt_value; int snap; @@ -2139,23 +2122,23 @@ public: std::shared_ptr<int> in_use; - vector<bufferlist> results; - vector<int> retvals; - vector<bool> is_sparse_read; + std::vector<bufferlist> results; + std::vector<int> retvals; + std::vector<bool> is_sparse_read; uint64_t waiting_on; - vector<bufferlist> checksums; - vector<int> checksum_retvals; + std::vector<bufferlist> checksums; + std::vector<int> checksum_retvals; uint32_t offset = 0; uint32_t length = 0; - string tgt_oid; - string tgt_pool_name; + std::string tgt_oid; + std::string tgt_pool_name; uint32_t tgt_offset = 0; ChunkReadOp(int n, RadosTestContext *context, - const string &oid, - const string &tgt_pool_name, + const std::string &oid, + const std::string &tgt_pool_name, bool balance_reads, bool localize_reads, TestOpStat *stat = 0) @@ -2292,13 +2275,13 @@ public: ceph_assert(completions[i]->is_complete()); int err = completions[i]->get_return_value(); if (err != retval) { - cerr << num << ": Error: oid " << oid << " read returned different error codes: " + std::cerr << num << ": Error: oid " << oid << " read returned different error codes: " << retval << " and " << err << std::endl; ceph_abort(); } if (err) { if (!(err == -ENOENT && old_value.deleted())) { - cerr << num << ": Error: oid " << oid << " read returned error code " + std::cerr << num << ": Error: oid " << oid << " read returned error code " << err << std::endl; ceph_abort(); } @@ -2326,7 +2309,7 @@ public: } if (checksum_retvals[1] != 0) { - cerr << num << ": oid " << oid << " checksum retvals " << checksums[0] + std::cerr << num << ": oid " << oid << " checksum retvals " << checksums[0] << " error " << std::endl; context->errors++; } @@ -2334,7 +2317,7 @@ public: checksum[0] = results[0].crc32c(-1); if (checksum[0] != checksum[1]) { - cerr << num << ": oid " << oid << " checksum src " << checksum[0] + std::cerr << num << ": oid " << oid << " checksum src " << checksum[0] << " chunksum tgt " << checksum[1] << " incorrect, expecting " << results[0].crc32c(-1) << std::endl; @@ -2343,8 +2326,7 @@ public: if (context->errors) ceph_abort(); } } - for (vector<librados::AioCompletion *>::iterator it = completions.begin(); - it != completions.end(); ++it) { + for (auto it = completions.begin(); it != completions.end(); ++it) { (*it)->release(); } context->kick(); @@ -2356,7 +2338,7 @@ public: return done; } - string getType() override + std::string getType() override { return "ChunkReadOp"; } @@ -2364,7 +2346,7 @@ public: class CopyOp : public TestOp { public: - string oid, oid_src, tgt_pool_name; + std::string oid, oid_src, tgt_pool_name; librados::ObjectWriteOperation op; librados::ObjectReadOperation rd_op; librados::AioCompletion *comp; @@ -2373,9 +2355,9 @@ public: int r; CopyOp(int n, RadosTestContext *context, - const string &oid_src, - const string &oid, - const string &tgt_pool_name, + const std::string &oid_src, + const std::string &oid, + const std::string &tgt_pool_name, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid), oid_src(oid_src), tgt_pool_name(tgt_pool_name), @@ -2388,14 +2370,14 @@ public: context->oid_in_use.insert(oid_src); context->oid_not_in_use.erase(oid_src); - string src = context->prefix+oid_src; + std::string src = context->prefix+oid_src; context->find_object(oid_src, &src_value); op.copy_from(src.c_str(), context->io_ctx, src_value.version, 0); - cout << "copy op oid " << oid_src << " to " << oid << " tgt_pool_name " << tgt_pool_name << std::endl; + std::cout << "copy op oid " << oid_src << " to " << oid << " tgt_pool_name " << tgt_pool_name << std::endl; - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); if (tgt_pool_name == context->low_tier_pool_name) { @@ -2411,10 +2393,10 @@ public: if (info->id == 0) { ceph_assert(comp->is_complete()); - cout << num << ": finishing copy op to oid " << oid << std::endl; + std::cout << num << ": finishing copy op to oid " << oid << std::endl; if ((r = comp->get_return_value())) { - cerr << "Error: oid " << oid << " write returned error code " - << r << std::endl; + std::cerr << "Error: oid " << oid << " write returned error code " + << r << std::endl; ceph_abort(); } } @@ -2431,7 +2413,7 @@ public: return done == 1; } - string getType() override + std::string getType() override { return "CopyOp"; } @@ -2439,7 +2421,7 @@ public: class SetChunkOp : public TestOp { public: - string oid, oid_tgt; + std::string oid, oid_tgt; ObjectDesc src_value, tgt_value; librados::ObjectReadOperation op; librados::AioCompletion *comp; @@ -2452,8 +2434,8 @@ public: std::shared_ptr<int> in_use; SetChunkOp(int n, RadosTestContext *context, - const string &oid, - const string &oid_tgt, + const std::string &oid, + const std::string &oid_tgt, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid), oid_tgt(oid_tgt), @@ -2463,8 +2445,8 @@ public: snap(0) {} - pair<uint64_t, uint64_t> get_rand_off_len(uint32_t max_len) { - pair<uint64_t, uint64_t> r (0, 0); + std::pair<uint64_t, uint64_t> get_rand_off_len(uint32_t max_len) { + std::pair<uint64_t, uint64_t> r (0, 0); r.first = rand() % max_len; r.second = rand() % max_len; r.first = r.first - (r.first % 512); @@ -2501,7 +2483,7 @@ public: } else { max_len = src_value.most_recent_gen()->get_length(src_value.most_recent()); } - pair<uint64_t, uint64_t> off_len; // first: offset, second: length + std::pair<uint64_t, uint64_t> off_len; // first: offset, second: length if (snap >= 0) { context->io_ctx.snap_set_read(context->snaps[snap]); off_len = get_rand_off_len(max_len); @@ -2516,12 +2498,12 @@ public: length = off_len.second; tgt_offset = offset; - string target_oid; + std::string target_oid; if (!src_value.deleted() && oid_tgt.empty()) { bufferlist bl; int r = context->io_ctx.read(context->prefix+oid, bl, length, offset); ceph_assert(r > 0); - string fp_oid = ceph::crypto::digest<ceph::crypto::SHA256>(bl).to_str(); + std::string fp_oid = ceph::crypto::digest<ceph::crypto::SHA256>(bl).to_str(); r = context->low_tier_io_ctx.write(fp_oid, bl, bl.length(), 0); ceph_assert(r == 0); target_oid = fp_oid; @@ -2530,15 +2512,15 @@ public: target_oid = context->prefix+oid_tgt; } - cout << num << ": " << "set_chunk oid " << oid << " offset: " << offset + std::cout << num << ": " << "set_chunk oid " << oid << " offset: " << offset << " length: " << length << " target oid " << target_oid << " offset: " << tgt_offset << " snap " << snap << std::endl; op.set_chunk(offset, length, context->low_tier_io_ctx, target_oid, tgt_offset, CEPH_OSD_OP_FLAG_WITH_REFERENCE); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); @@ -2555,21 +2537,21 @@ public: if (info->id == 0) { ceph_assert(comp->is_complete()); - cout << num << ": finishing set_chunk to oid " << oid << std::endl; + std::cout << num << ": finishing set_chunk to oid " << oid << std::endl; if ((r = comp->get_return_value())) { if (r == -ENOENT && src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else if (r == -ENOENT && context->oid_set_chunk_tgt_pool.find(oid_tgt) != context->oid_set_chunk_tgt_pool.end()) { - cout << num << ": get expected ENOENT tgt oid " << oid_tgt << std::endl; + std::cout << num << ": get expected ENOENT tgt oid " << oid_tgt << std::endl; } else if (r == -ERANGE && src_value.deleted()) { - cout << num << ": got expected ERANGE (src dne)" << std::endl; + std::cout << num << ": got expected ERANGE (src dne)" << std::endl; } else if (r == -EOPNOTSUPP) { - cout << "Range is overlapped: oid " << oid << " set_chunk " << oid_tgt << " returned error code " + std::cout << "Range is overlapped: oid " << oid << " set_chunk " << oid_tgt << " returned error code " << r << " offset: " << offset << " length: " << length << std::endl; context->update_object_version(oid, comp->get_version64()); } else { - cerr << "Error: oid " << oid << " set_chunk " << oid_tgt << " returned error code " + std::cerr << "Error: oid " << oid << " set_chunk " << oid_tgt << " returned error code " << r << std::endl; ceph_abort(); } @@ -2595,7 +2577,7 @@ public: return done == 1; } - string getType() override + std::string getType() override { return "SetChunkOp"; } @@ -2603,7 +2585,7 @@ public: class SetRedirectOp : public TestOp { public: - string oid, oid_tgt, tgt_pool_name; + std::string oid, oid_tgt, tgt_pool_name; ObjectDesc src_value, tgt_value; librados::ObjectWriteOperation op; librados::ObjectReadOperation rd_op; @@ -2613,9 +2595,9 @@ public: int r; SetRedirectOp(int n, RadosTestContext *context, - const string &oid, - const string &oid_tgt, - const string &tgt_pool_name, + const std::string &oid, + const std::string &oid_tgt, + const std::string &tgt_pool_name, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid), oid_tgt(oid_tgt), tgt_pool_name(tgt_pool_name), @@ -2637,14 +2619,14 @@ public: if(!context->redirect_objs[oid].empty()) { /* copy_from oid --> oid_tgt */ comp = context->rados.aio_create_completion(); - string src = context->prefix+oid; + std::string src = context->prefix+oid; op.copy_from(src.c_str(), context->io_ctx, src_value.version, 0); context->low_tier_io_ctx.aio_operate(context->prefix+oid_tgt, comp, &op, librados::OPERATION_ORDER_READS_WRITES); comp->wait_for_complete(); if ((r = comp->get_return_value())) { - cerr << "Error: oid " << oid << " copy_from " << oid_tgt << " returned error code " - << r << std::endl; + std::cerr << "Error: oid " << oid << " copy_from " << oid_tgt << " returned error code " + << r << std::endl; ceph_abort(); } comp->release(); @@ -2659,7 +2641,7 @@ public: comp->wait_for_complete(); if ((r = comp->get_return_value())) { if (!(r == -ENOENT && !present) && r != -EOPNOTSUPP) { - cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; + std::cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; ceph_abort(); } } @@ -2677,7 +2659,7 @@ public: NULL); comp->wait_for_complete(); if ((r = comp->get_return_value()) && !src_value.deleted()) { - cerr << "Error: oid " << oid << " stat returned error code " + std::cerr << "Error: oid " << oid << " stat returned error code " << r << std::endl; ceph_abort(); } @@ -2692,7 +2674,7 @@ public: NULL); comp->wait_for_complete(); if ((r = comp->get_return_value())) { - cerr << "Error: oid " << oid_tgt << " stat returned error code " + std::cerr << "Error: oid " << oid_tgt << " stat returned error code " << r << std::endl; ceph_abort(); } @@ -2706,8 +2688,8 @@ public: op.assert_version(src_value.version); op.set_redirect(context->prefix+oid_tgt, context->low_tier_io_ctx, tgt_version); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp = context->rados.aio_create_completion((void*) cb_arg, &write_callback); context->io_ctx.aio_operate(context->prefix+oid, comp, &op, @@ -2720,12 +2702,12 @@ public: if (info->id == 0) { ceph_assert(comp->is_complete()); - cout << num << ": finishing set_redirect to oid " << oid << std::endl; + std::cout << num << ": finishing set_redirect to oid " << oid << std::endl; if ((r = comp->get_return_value())) { if (r == -ENOENT && src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else { - cerr << "Error: oid " << oid << " set_redirect " << oid_tgt << " returned error code " + std::cerr << "Error: oid " << oid << " set_redirect " << oid_tgt << " returned error code " << r << std::endl; ceph_abort(); } @@ -2747,7 +2729,7 @@ public: return done == 1; } - string getType() override + std::string getType() override { return "SetRedirectOp"; } @@ -2755,13 +2737,13 @@ public: class UnsetRedirectOp : public TestOp { public: - string oid; + std::string oid; librados::ObjectWriteOperation op; librados::AioCompletion *comp = nullptr; UnsetRedirectOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat = 0) : TestOp(n, context, stat), oid(oid) {} @@ -2794,7 +2776,7 @@ public: comp->wait_for_complete(); int r = comp->get_return_value(); if (r && !(r == -ENOENT && !present)) { - cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; + std::cerr << "r is " << r << " while deleting " << oid << " and present is " << present << std::endl; ceph_abort(); } state_locker.lock(); @@ -2803,12 +2785,12 @@ public: if(!context->redirect_objs[oid].empty()) { context->oid_redirect_not_in_use.insert(context->redirect_objs[oid]); context->oid_redirect_in_use.erase(context->redirect_objs[oid]); - context->update_object_redirect_target(oid, string()); + context->update_object_redirect_target(oid, {}); } context->kick(); } - string getType() override + std::string getType() override { return "UnsetRedirectOp"; } @@ -2818,13 +2800,13 @@ class TierPromoteOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectWriteOperation op; - string oid; + std::string oid; std::shared_ptr<int> in_use; ObjectDesc src_value; TierPromoteOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), completion(NULL), @@ -2840,8 +2822,8 @@ public: context->find_object(oid, &src_value); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -2862,11 +2844,11 @@ public: ObjectDesc oid_value; context->find_object(oid, &oid_value); int r = completion->get_return_value(); - cout << num << ": got " << cpp_strerror(r) << std::endl; + std::cout << num << ": got " << cpp_strerror(r) << std::endl; if (r == 0) { // sucess } else if (r == -ENOENT && src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else { ceph_abort_msg("shouldn't happen"); } @@ -2883,7 +2865,7 @@ public: return done; } - string getType() override + std::string getType() override { return "TierPromoteOp"; } @@ -2893,7 +2875,7 @@ class TierFlushOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectReadOperation op; - string oid; + std::string oid; std::shared_ptr<int> in_use; int snap; ObjectDesc src_value; @@ -2901,7 +2883,7 @@ public: TierFlushOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), completion(NULL), @@ -2923,7 +2905,7 @@ public: snap = -1; } - cout << num << ": tier_flush oid " << oid << " snap " << snap << std::endl; + std::cout << num << ": tier_flush oid " << oid << " snap " << snap << std::endl; if (snap >= 0) { context->io_ctx.snap_set_read(context->snaps[snap]); @@ -2931,8 +2913,8 @@ public: context->find_object(oid, &src_value, snap); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -2956,7 +2938,7 @@ public: ceph_assert(completion->is_complete()); int r = completion->get_return_value(); - cout << num << ": got " << cpp_strerror(r) << std::endl; + std::cout << num << ": got " << cpp_strerror(r) << std::endl; if (r == 0) { // sucess context->update_object_tier_flushed(oid, snap); @@ -2967,15 +2949,15 @@ public: } else if (r == -ENOENT) { // could fail if object is removed if (src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else { - cerr << num << ": got unexpected ENOENT" << std::endl; + std::cerr << num << ": got unexpected ENOENT" << std::endl; ceph_abort(); } } else { if (r != -ENOENT && src_value.deleted()) { - cerr << num << ": src dne, but r is not ENOENT" << std::endl; - } + std::cerr << num << ": src dne, but r is not ENOENT" << std::endl; + } ceph_abort_msg("shouldn't happen"); } context->oid_in_use.erase(oid); @@ -2990,7 +2972,7 @@ public: return done; } - string getType() override + std::string getType() override { return "TierFlushOp"; } @@ -3000,14 +2982,14 @@ class TierEvictOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectReadOperation op; - string oid; + std::string oid; std::shared_ptr<int> in_use; int snap; ObjectDesc src_value; TierEvictOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), completion(NULL), @@ -3029,7 +3011,7 @@ public: snap = -1; } - cout << num << ": tier_evict oid " << oid << " snap " << snap << std::endl; + std::cout << num << ": tier_evict oid " << oid << " snap " << snap << std::endl; if (snap >= 0) { context->io_ctx.snap_set_read(context->snaps[snap]); @@ -3037,8 +3019,8 @@ public: context->find_object(oid, &src_value, snap); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -3062,7 +3044,7 @@ public: ceph_assert(completion->is_complete()); int r = completion->get_return_value(); - cout << num << ": got " << cpp_strerror(r) << std::endl; + std::cout << num << ": got " << cpp_strerror(r) << std::endl; if (r == 0) { // ok } else if (r == -EINVAL) { @@ -3072,15 +3054,15 @@ public: } else if (r == -ENOENT) { // could fail if object is removed if (src_value.deleted()) { - cout << num << ": got expected ENOENT (src dne)" << std::endl; + std::cout << num << ": got expected ENOENT (src dne)" << std::endl; } else { - cerr << num << ": got unexpected ENOENT" << std::endl; + std::cerr << num << ": got unexpected ENOENT" << std::endl; ceph_abort(); } } else { if (r != -ENOENT && src_value.deleted()) { - cerr << num << ": src dne, but r is not ENOENT" << std::endl; - } + std::cerr << num << ": src dne, but r is not ENOENT" << std::endl; + } ceph_abort_msg("shouldn't happen"); } context->oid_in_use.erase(oid); @@ -3094,7 +3076,7 @@ public: return done; } - string getType() override + std::string getType() override { return "TierEvictOp"; } @@ -3118,8 +3100,8 @@ public: void _begin() override { - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); comp1 = context->rados.aio_create_completion((void*) cb_arg, &write_callback); @@ -3131,17 +3113,16 @@ public: std::lock_guard l{context->state_lock}; if (!comp2) { if (ls.empty()) { - cerr << num << ": no hitsets" << std::endl; + std::cerr << num << ": no hitsets" << std::endl; done = true; } else { - cerr << num << ": hitsets are " << ls << std::endl; + std::cerr << num << ": hitsets are " << ls << std::endl; int r = rand() % ls.size(); - std::list<pair<time_t,time_t> >::iterator p = ls.begin(); + auto p = ls.begin(); while (r--) ++p; - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, - new TestOp::CallbackInfo(0)); + auto cb_arg = new std::pair<TestOp*, TestOp::CallbackInfo*>( + this, new TestOp::CallbackInfo(0)); comp2 = context->rados.aio_create_completion((void*) cb_arg, &write_callback); r = context->io_ctx.hit_set_get(hash, comp2, p->second, &bl); ceph_assert(r == 0); @@ -3152,9 +3133,9 @@ public: HitSet hitset; auto p = bl.cbegin(); decode(hitset, p); - cout << num << ": got hitset of type " << hitset.get_type_name() - << " size " << bl.length() - << std::endl; + std::cout << num << ": got hitset of type " << hitset.get_type_name() + << " size " << bl.length() + << std::endl; } else { // FIXME: we could verify that we did in fact race with a trim... ceph_assert(r == -ENOENT); @@ -3169,7 +3150,7 @@ public: return done; } - string getType() override { + std::string getType() override { return "HitSetListOp"; } }; @@ -3178,11 +3159,11 @@ class UndirtyOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectWriteOperation op; - string oid; + std::string oid; UndirtyOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat = 0) : TestOp(n, context, stat), completion(NULL), @@ -3192,8 +3173,8 @@ public: void _begin() override { context->state_lock.lock(); - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -3226,7 +3207,7 @@ public: return done; } - string getType() override + std::string getType() override { return "UndirtyOp"; } @@ -3236,7 +3217,7 @@ class IsDirtyOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectReadOperation op; - string oid; + std::string oid; bool dirty; ObjectDesc old_value; int snap = 0; @@ -3244,7 +3225,7 @@ public: IsDirtyOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat = 0) : TestOp(n, context, stat), completion(NULL), @@ -3265,8 +3246,8 @@ public: std::cout << num << ": is_dirty oid " << oid << " snap " << snap << std::endl; - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -3301,11 +3282,11 @@ public: int r = completion->get_return_value(); if (r == 0) { - cout << num << ": " << (dirty ? "dirty" : "clean") << std::endl; + std::cout << num << ": " << (dirty ? "dirty" : "clean") << std::endl; ceph_assert(!old_value.deleted()); ceph_assert(dirty == old_value.dirty); } else { - cout << num << ": got " << r << std::endl; + std::cout << num << ": got " << r << std::endl; ceph_assert(r == -ENOENT); ceph_assert(old_value.deleted()); } @@ -3318,7 +3299,7 @@ public: return done; } - string getType() override + std::string getType() override { return "IsDirtyOp"; } @@ -3330,7 +3311,7 @@ class CacheFlushOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectReadOperation op; - string oid; + std::string oid; bool blocking; int snap; bool can_fail; @@ -3338,7 +3319,7 @@ public: CacheFlushOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat, bool b) : TestOp(n, context, stat), @@ -3365,15 +3346,15 @@ public: // FIXME: we could fail if we've ever removed a snap due to // the async snap trimming. can_fail = true; - cout << num << ": " << (blocking ? "cache_flush" : "cache_try_flush") + std::cout << num << ": " << (blocking ? "cache_flush" : "cache_try_flush") << " oid " << oid << " snap " << snap << std::endl; if (snap >= 0) { context->io_ctx.snap_set_read(context->snaps[snap]); } - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -3405,7 +3386,7 @@ public: context->oid_flushing.erase(oid); context->oid_not_flushing.insert(oid); int r = completion->get_return_value(); - cout << num << ": got " << cpp_strerror(r) << std::endl; + std::cout << num << ": got " << cpp_strerror(r) << std::endl; if (r == 0) { context->update_object_version(oid, 0, snap); } else if (r == -EBUSY) { @@ -3426,7 +3407,7 @@ public: return done; } - string getType() override + std::string getType() override { return "CacheFlushOp"; } @@ -3436,12 +3417,12 @@ class CacheEvictOp : public TestOp { public: librados::AioCompletion *completion; librados::ObjectReadOperation op; - string oid; + std::string oid; std::shared_ptr<int> in_use; CacheEvictOp(int n, RadosTestContext *context, - const string &oid, + const std::string &oid, TestOpStat *stat) : TestOp(n, context, stat), completion(NULL), @@ -3459,14 +3440,14 @@ public: } else { snap = -1; } - cout << num << ": cache_evict oid " << oid << " snap " << snap << std::endl; + std::cout << num << ": cache_evict oid " << oid << " snap " << snap << std::endl; if (snap >= 0) { context->io_ctx.snap_set_read(context->snaps[snap]); } - pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = - new pair<TestOp*, TestOp::CallbackInfo*>(this, + std::pair<TestOp*, TestOp::CallbackInfo*> *cb_arg = + new std::pair<TestOp*, TestOp::CallbackInfo*>(this, new TestOp::CallbackInfo(0)); completion = context->rados.aio_create_completion((void *) cb_arg, &write_callback); @@ -3490,7 +3471,7 @@ public: ceph_assert(completion->is_complete()); int r = completion->get_return_value(); - cout << num << ": got " << cpp_strerror(r) << std::endl; + std::cout << num << ": got " << cpp_strerror(r) << std::endl; if (r == 0) { // yay! } else if (r == -EBUSY) { @@ -3511,7 +3492,7 @@ public: return done; } - string getType() override + std::string getType() override { return "CacheEvictOp"; } diff --git a/src/test/osd/TestOpStat.cc b/src/test/osd/TestOpStat.cc index 48b87b885b0..eb13e1d55e0 100644 --- a/src/test/osd/TestOpStat.cc +++ b/src/test/osd/TestOpStat.cc @@ -17,10 +17,10 @@ void TestOpStat::end(TestOp *in) { stats[in->getType()].end(in); } -void TestOpStat::TypeStatus::export_latencies(map<double,uint64_t> &in) const +void TestOpStat::TypeStatus::export_latencies(std::map<double,uint64_t> &in) const { - map<double,uint64_t>::iterator i = in.begin(); - multiset<uint64_t>::iterator j = latencies.begin(); + auto i = in.begin(); + auto j = latencies.begin(); int count = 0; while (j != latencies.end() && i != in.end()) { count++; @@ -31,22 +31,22 @@ void TestOpStat::TypeStatus::export_latencies(map<double,uint64_t> &in) const ++j; } } - + std::ostream & operator<<(std::ostream &out, const TestOpStat &rhs) { std::lock_guard l{rhs.stat_lock}; for (auto i = rhs.stats.begin(); i != rhs.stats.end(); ++i) { - map<double,uint64_t> latency; + std::map<double,uint64_t> latency; latency[10] = 0; latency[50] = 0; latency[90] = 0; latency[99] = 0; i->second.export_latencies(latency); - + out << i->first << " latency: " << std::endl; - for (map<double,uint64_t>::iterator j = latency.begin(); + for (auto j = latency.begin(); j != latency.end(); ++j) { if (j->second == 0) break; |