From a948926d5a48f2d15900690c50430a2e85e7ec7e Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 17 Sep 2020 20:56:52 -0400 Subject: [PATCH] rgw: move etag verifiers to namespace rgw::putobj Signed-off-by: Casey Bodley (cherry picked from commit 6ad2e3eef3f9bbf41de471ef5bad9502023e113c) --- src/rgw/rgw_etag_verifier.cc | 14 +++++++++----- src/rgw/rgw_etag_verifier.h | 26 +++++++++++++++----------- src/rgw/rgw_rados.cc | 4 ++-- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/rgw/rgw_etag_verifier.cc b/src/rgw/rgw_etag_verifier.cc index 4db3ca03c05d2..93ba1e4419c5f 100644 --- a/src/rgw/rgw_etag_verifier.cc +++ b/src/rgw/rgw_etag_verifier.cc @@ -5,7 +5,9 @@ #define dout_subsys ceph_subsys_rgw -int RGWPutObj_ETagVerifier_Atomic::process(bufferlist&& in, uint64_t logical_offset) +namespace rgw::putobj { + +int ETagVerifier_Atomic::process(bufferlist&& in, uint64_t logical_offset) { bufferlist out; if (in.length() > 0) @@ -14,7 +16,7 @@ int RGWPutObj_ETagVerifier_Atomic::process(bufferlist&& in, uint64_t logical_off return Pipe::process(std::move(in), logical_offset); } -void RGWPutObj_ETagVerifier_Atomic::calculate_etag() +void ETagVerifier_Atomic::calculate_etag() { unsigned char m[CEPH_CRYPTO_MD5_DIGESTSIZE]; char calc_md5[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 1]; @@ -30,7 +32,7 @@ void RGWPutObj_ETagVerifier_Atomic::calculate_etag() << dendl; } -void RGWPutObj_ETagVerifier_MPU::process_end_of_MPU_part() +void ETagVerifier_MPU::process_end_of_MPU_part() { unsigned char m[CEPH_CRYPTO_MD5_DIGESTSIZE]; char calc_md5_part[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 1]; @@ -50,7 +52,7 @@ void RGWPutObj_ETagVerifier_MPU::process_end_of_MPU_part() next_part_index++; } -int RGWPutObj_ETagVerifier_MPU::process(bufferlist&& in, uint64_t logical_offset) +int ETagVerifier_MPU::process(bufferlist&& in, uint64_t logical_offset) { uint64_t bl_end = in.length() + logical_offset; @@ -87,7 +89,7 @@ done: return Pipe::process(std::move(in), logical_offset); } -void RGWPutObj_ETagVerifier_MPU::calculate_etag() +void ETagVerifier_MPU::calculate_etag() { unsigned char m[CEPH_CRYPTO_MD5_DIGESTSIZE], mpu_m[CEPH_CRYPTO_MD5_DIGESTSIZE]; char final_etag_str[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 16]; @@ -109,3 +111,5 @@ void RGWPutObj_ETagVerifier_MPU::calculate_etag() calculated_etag = final_etag_str; ldout(cct, 20) << "MPU calculated ETag:" << calculated_etag << dendl; } + +} // namespace rgw::putobj diff --git a/src/rgw/rgw_etag_verifier.h b/src/rgw/rgw_etag_verifier.h index 4902e6bb3cedf..87898e4d761d2 100644 --- a/src/rgw/rgw_etag_verifier.h +++ b/src/rgw/rgw_etag_verifier.h @@ -18,7 +18,9 @@ #include "rgw_putobj.h" #include "rgw_op.h" -class RGWPutObj_ETagVerifier : public rgw::putobj::Pipe +namespace rgw::putobj { + +class ETagVerifier : public rgw::putobj::Pipe { protected: CephContext* cct; @@ -26,26 +28,26 @@ protected: string calculated_etag; public: - RGWPutObj_ETagVerifier(CephContext* cct_, rgw::putobj::DataProcessor *next) + ETagVerifier(CephContext* cct_, rgw::putobj::DataProcessor *next) : Pipe(next), cct(cct_) {} virtual void calculate_etag() = 0; string get_calculated_etag() { return calculated_etag;} -}; /* RGWPutObj_ETagVerifier */ +}; /* ETagVerifier */ -class RGWPutObj_ETagVerifier_Atomic : public RGWPutObj_ETagVerifier +class ETagVerifier_Atomic : public ETagVerifier { public: - RGWPutObj_ETagVerifier_Atomic(CephContext* cct_, rgw::putobj::DataProcessor *next) - : RGWPutObj_ETagVerifier(cct_, next) {} + ETagVerifier_Atomic(CephContext* cct_, rgw::putobj::DataProcessor *next) + : ETagVerifier(cct_, next) {} int process(bufferlist&& data, uint64_t logical_offset) override; void calculate_etag() override; -}; /* RGWPutObj_ETagVerifier_Atomic */ +}; /* ETagVerifier_Atomic */ -class RGWPutObj_ETagVerifier_MPU : public RGWPutObj_ETagVerifier +class ETagVerifier_MPU : public ETagVerifier { std::vector part_ofs; int cur_part_index{0}, next_part_index{1}; @@ -54,16 +56,18 @@ class RGWPutObj_ETagVerifier_MPU : public RGWPutObj_ETagVerifier void process_end_of_MPU_part(); public: - RGWPutObj_ETagVerifier_MPU(CephContext* cct, + ETagVerifier_MPU(CephContext* cct, std::vector part_ofs, rgw::putobj::DataProcessor *next) - : RGWPutObj_ETagVerifier(cct, next), + : ETagVerifier(cct, next), part_ofs(std::move(part_ofs)) {} int process(bufferlist&& data, uint64_t logical_offset) override; void calculate_etag() override; -}; /* RGWPutObj_ETagVerifier_MPU */ +}; /* ETagVerifier_MPU */ + +} // namespace rgw::putobj #endif /* CEPH_RGW_ETAG_VERIFIER_H */ diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 81ba2aacfa7f3..195dc73268750 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3921,8 +3921,8 @@ class RGWRadosPutObj : public RGWHTTPStreamRWRequest::ReceiveCB rgw::putobj::DataProcessor *filter; boost::optional& compressor; bool try_etag_verify; - boost::optional etag_verifier_atomic; - boost::optional etag_verifier_mpu; + boost::optional etag_verifier_atomic; + boost::optional etag_verifier_mpu; boost::optional buffering; CompressorRef& plugin; rgw::putobj::ObjectProcessor *processor; -- 2.39.5