From 6c1a2151ec4586b394b73a3fddfd8986ba26a6b9 Mon Sep 17 00:00:00 2001 From: "Adam C. Emerson" Date: Thu, 28 Mar 2019 20:31:17 -0400 Subject: [PATCH] osdc: Update Striper to work without using namespace Signed-off-by: Adam C. Emerson --- src/osdc/Striper.cc | 46 ++++++++++++++++++++------------------------- src/osdc/Striper.h | 32 +++++++++++++++---------------- 2 files changed, 36 insertions(+), 42 deletions(-) diff --git a/src/osdc/Striper.cc b/src/osdc/Striper.cc index 74350a2b01e22..91c8e05f767a6 100644 --- a/src/osdc/Striper.cc +++ b/src/osdc/Striper.cc @@ -25,15 +25,20 @@ #undef dout_prefix #define dout_prefix *_dout << "striper " +using std::make_pair; +using std::map; +using std::pair; + +using ceph::bufferlist; void Striper::file_to_extents(CephContext *cct, const char *object_format, const file_layout_t *layout, uint64_t offset, uint64_t len, uint64_t trunc_size, - vector& extents, + std::vector& extents, uint64_t buffer_offset) { - map > object_extents; + map > object_extents; file_to_extents(cct, object_format, layout, offset, len, trunc_size, object_extents, buffer_offset); assimilate_extents(object_extents, extents); @@ -44,7 +49,7 @@ void Striper::file_to_extents( const file_layout_t *layout, uint64_t offset, uint64_t len, uint64_t trunc_size, - map >& object_extents, + map >& object_extents, uint64_t buffer_offset) { ldout(cct, 10) << "file_to_extents " << offset << "~" << len @@ -110,7 +115,7 @@ void Striper::file_to_extents( << dendl; ObjectExtent *ex = 0; - vector& exv = object_extents[oid]; + std::vector& exv = object_extents[oid]; if (exv.empty() || exv.back().offset + exv.back().length != x_offset) { exv.resize(exv.size() + 1); ex = &exv.back(); @@ -145,17 +150,12 @@ void Striper::file_to_extents( } void Striper::assimilate_extents( - map >& object_extents, - vector& extents) + map >& object_extents, + std::vector& extents) { // make final list - for (map >::iterator it - = object_extents.begin(); - it != object_extents.end(); - ++it) { - for (vector::iterator p = it->second.begin(); - p != it->second.end(); - ++p) { + for (auto it = object_extents.cbegin(); it != object_extents.cend(); ++it) { + for (auto p = it->second.begin(); p != it->second.end(); ++p) { extents.push_back(*p); } } @@ -163,7 +163,7 @@ void Striper::assimilate_extents( void Striper::extent_to_file(CephContext *cct, file_layout_t *layout, uint64_t objectno, uint64_t off, uint64_t len, - vector >& extents) + std::vector >& extents) { ldout(cct, 10) << "extent_to_file " << objectno << " " << off << "~" << len << dendl; @@ -258,14 +258,11 @@ uint64_t Striper::get_num_objects(const file_layout_t& layout, void Striper::StripedReadResult::add_partial_result( CephContext *cct, bufferlist& bl, - const vector >& buffer_extents) + const std::vector >& buffer_extents) { ldout(cct, 10) << "add_partial_result(" << this << ") " << bl.length() << " to " << buffer_extents << dendl; - for (vector >::const_iterator p - = buffer_extents.begin(); - p != buffer_extents.end(); - ++p) { + for (auto p = buffer_extents.cbegin(); p != buffer_extents.cend(); ++p) { pair& r = partial[p->first]; size_t actual = std::min(bl.length(), p->second); bl.splice(0, actual, &r.first); @@ -276,16 +273,13 @@ void Striper::StripedReadResult::add_partial_result( void Striper::StripedReadResult::add_partial_sparse_result( CephContext *cct, bufferlist& bl, const map& bl_map, - uint64_t bl_off, const vector >& buffer_extents) + uint64_t bl_off, const std::vector >& buffer_extents) { ldout(cct, 10) << "add_partial_sparse_result(" << this << ") " << bl.length() << " covering " << bl_map << " (offset " << bl_off << ")" << " to " << buffer_extents << dendl; - map::const_iterator s = bl_map.begin(); - for (vector >::const_iterator p - = buffer_extents.begin(); - p != buffer_extents.end(); - ++p) { + auto s = bl_map.cbegin(); + for (auto p = buffer_extents.cbegin(); p != buffer_extents.cend(); ++p) { uint64_t tofs = p->first; size_t tlen = p->second; ldout(cct, 30) << " be " << tofs << "~" << tlen << dendl; @@ -296,7 +290,7 @@ void Striper::StripedReadResult::add_partial_sparse_result( << dendl; if (s == bl_map.end()) { ldout(cct, 20) << " s at end" << dendl; - pair& r = partial[tofs]; + auto& r = partial[tofs]; r.second = tlen; total_intended_len += r.second; break; diff --git a/src/osdc/Striper.h b/src/osdc/Striper.h index 6d110e9502fcf..f7f9b6727f31c 100644 --- a/src/osdc/Striper.h +++ b/src/osdc/Striper.h @@ -25,28 +25,28 @@ class CephContext; class Striper { public: /* - * map (ino, layout, offset, len) to a (list of) ObjectExtents (byte + * std::map (ino, layout, offset, len) to a (list of) ObjectExtents (byte * ranges in objects on (primary) osds) */ static void file_to_extents(CephContext *cct, const char *object_format, const file_layout_t *layout, uint64_t offset, uint64_t len, uint64_t trunc_size, - map >& extents, + std::map >& extents, uint64_t buffer_offset=0); static void file_to_extents(CephContext *cct, const char *object_format, const file_layout_t *layout, uint64_t offset, uint64_t len, uint64_t trunc_size, - vector& extents, + std::vector& extents, uint64_t buffer_offset=0); static void file_to_extents(CephContext *cct, inodeno_t ino, const file_layout_t *layout, uint64_t offset, uint64_t len, uint64_t trunc_size, - vector& extents) { + std::vector& extents) { // generate prefix/format char buf[32]; snprintf(buf, sizeof(buf), "%llx.%%08llx", (long long unsigned)ino); @@ -55,15 +55,15 @@ class CephContext; } static void assimilate_extents( - map >& object_extents, - vector& extents); + std::map >& object_extents, + std::vector& extents); /** - * reverse map an object extent to file extents + * reverse std::map an object extent to file extents */ static void extent_to_file(CephContext *cct, file_layout_t *layout, uint64_t objectno, uint64_t off, uint64_t len, - vector >& extents); + std::vector >& extents); static uint64_t object_truncate_size( CephContext *cct, const file_layout_t *layout, @@ -76,28 +76,28 @@ class CephContext; */ class StripedReadResult { // offset -> (data, intended length) - map > partial; + std::map > partial; uint64_t total_intended_len = 0; //sum of partial.second.second public: void add_partial_result( - CephContext *cct, bufferlist& bl, - const vector >& buffer_extents); + CephContext *cct, ceph::buffer::list& bl, + const std::vector >& buffer_extents); /** * add sparse read into results * * @param bl buffer - * @param bl_map map of which logical source extents this covers + * @param bl_map std::map of which logical source extents this covers * @param bl_off logical buffer offset (e.g., first bl_map key * if the buffer is not sparse) * @param buffer_extents output buffer extents the data maps to */ void add_partial_sparse_result( - CephContext *cct, bufferlist& bl, - const map& bl_map, uint64_t bl_off, - const vector >& buffer_extents); + CephContext *cct, ceph::buffer::list& bl, + const std::map& bl_map, uint64_t bl_off, + const std::vector >& buffer_extents); - void assemble_result(CephContext *cct, bufferlist& bl, bool zero_tail); + void assemble_result(CephContext *cct, ceph::buffer::list& bl, bool zero_tail); /** * @buffer copy read data into buffer -- 2.39.5