From 237eaacd324a5a0949a3b25694ddb9e925ececc8 Mon Sep 17 00:00:00 2001 From: Or Ozeri Date: Mon, 11 Jan 2021 13:50:30 +0200 Subject: [PATCH] librbd: change remap_extents to lvalue reference This commit changes the remap_extents api to use lvalue instead of ravlue references Signed-off-by: Or Ozeri --- src/librbd/crypto/CryptoImageDispatch.cc | 2 +- src/librbd/crypto/CryptoImageDispatch.h | 2 +- src/librbd/io/ImageDispatchInterface.h | 2 +- src/librbd/io/ImageDispatcher.cc | 4 ++-- src/librbd/io/ImageDispatcher.h | 2 +- src/librbd/io/ImageDispatcherInterface.h | 2 +- src/librbd/io/Utils.cc | 6 +++--- src/test/librbd/mock/io/MockImageDispatcher.h | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/librbd/crypto/CryptoImageDispatch.cc b/src/librbd/crypto/CryptoImageDispatch.cc index 84c9a59be9a21..15513bf55be36 100644 --- a/src/librbd/crypto/CryptoImageDispatch.cc +++ b/src/librbd/crypto/CryptoImageDispatch.cc @@ -12,7 +12,7 @@ CryptoImageDispatch::CryptoImageDispatch( void CryptoImageDispatch::remap_extents( - io::Extents&& image_extents, io::ImageExtentsMapType type) { + io::Extents& image_extents, io::ImageExtentsMapType type) { if (type == io::IMAGE_EXTENTS_MAP_TYPE_LOGICAL_TO_PHYSICAL) { for (auto& extent: image_extents) { extent.first += m_data_offset; diff --git a/src/librbd/crypto/CryptoImageDispatch.h b/src/librbd/crypto/CryptoImageDispatch.h index afc3c84543cb9..818efeb540446 100644 --- a/src/librbd/crypto/CryptoImageDispatch.h +++ b/src/librbd/crypto/CryptoImageDispatch.h @@ -90,7 +90,7 @@ public: return false; } - void remap_extents(io::Extents&& image_extents, + void remap_extents(io::Extents& image_extents, io::ImageExtentsMapType type) override; private: diff --git a/src/librbd/io/ImageDispatchInterface.h b/src/librbd/io/ImageDispatchInterface.h index 2341107179ce4..64cea861286d9 100644 --- a/src/librbd/io/ImageDispatchInterface.h +++ b/src/librbd/io/ImageDispatchInterface.h @@ -81,7 +81,7 @@ struct ImageDispatchInterface { virtual bool invalidate_cache(Context* on_finish) = 0; - virtual void remap_extents(Extents&& image_extents, + virtual void remap_extents(Extents& image_extents, ImageExtentsMapType type) {} }; diff --git a/src/librbd/io/ImageDispatcher.cc b/src/librbd/io/ImageDispatcher.cc index fa0cc77703d65..7060f8328fb53 100644 --- a/src/librbd/io/ImageDispatcher.cc +++ b/src/librbd/io/ImageDispatcher.cc @@ -261,13 +261,13 @@ void ImageDispatcher::wait_on_writes_unblocked(Context *on_unblocked) { } template -void ImageDispatcher::remap_extents(Extents&& image_extents, +void ImageDispatcher::remap_extents(Extents& image_extents, ImageExtentsMapType type) { auto loop = [&image_extents, type](auto begin, auto end) { for (auto it = begin; it != end; ++it) { auto& image_dispatch_meta = it->second; auto image_dispatch = image_dispatch_meta.dispatch; - image_dispatch->remap_extents(std::move(image_extents), type); + image_dispatch->remap_extents(image_extents, type); } }; diff --git a/src/librbd/io/ImageDispatcher.h b/src/librbd/io/ImageDispatcher.h index d1176ae050e64..c7ea56f7303af 100644 --- a/src/librbd/io/ImageDispatcher.h +++ b/src/librbd/io/ImageDispatcher.h @@ -45,7 +45,7 @@ public: void unblock_writes() override; void wait_on_writes_unblocked(Context *on_unblocked) override; - void remap_extents(Extents&& image_extents, + void remap_extents(Extents& image_extents, ImageExtentsMapType type) override; protected: diff --git a/src/librbd/io/ImageDispatcherInterface.h b/src/librbd/io/ImageDispatcherInterface.h index f6b572c5d9e07..7c25734f9b5a0 100644 --- a/src/librbd/io/ImageDispatcherInterface.h +++ b/src/librbd/io/ImageDispatcherInterface.h @@ -29,7 +29,7 @@ public: virtual void wait_on_writes_unblocked(Context *on_unblocked) = 0; virtual void invalidate_cache(Context* on_finish) = 0; - virtual void remap_extents(Extents&& image_extents, + virtual void remap_extents(Extents& image_extents, ImageExtentsMapType type) = 0; }; diff --git a/src/librbd/io/Utils.cc b/src/librbd/io/Utils.cc index 4d11863a97baa..2ce9dd11fc67f 100644 --- a/src/librbd/io/Utils.cc +++ b/src/librbd/io/Utils.cc @@ -187,7 +187,7 @@ void file_to_extents(I* image_ctx, uint64_t offset, uint64_t length, striper::LightweightObjectExtents* object_extents) { Extents extents = {{offset, length}}; image_ctx->io_image_dispatcher->remap_extents( - std::move(extents), IMAGE_EXTENTS_MAP_TYPE_LOGICAL_TO_PHYSICAL); + extents, IMAGE_EXTENTS_MAP_TYPE_LOGICAL_TO_PHYSICAL); for (auto [off, len] : extents) { Striper::file_to_extents(image_ctx->cct, &image_ctx->layout, off, len, 0, buffer_offset, object_extents); @@ -201,7 +201,7 @@ void extent_to_file(I* image_ctx, uint64_t object_no, uint64_t offset, Striper::extent_to_file(image_ctx->cct, &image_ctx->layout, object_no, offset, length, extents); image_ctx->io_image_dispatcher->remap_extents( - std::move(extents), IMAGE_EXTENTS_MAP_TYPE_PHYSICAL_TO_LOGICAL); + extents, IMAGE_EXTENTS_MAP_TYPE_PHYSICAL_TO_LOGICAL); } template @@ -210,7 +210,7 @@ uint64_t get_file_offset(I* image_ctx, uint64_t object_no, uint64_t offset) { object_no, offset); Extents extents = {{off, 0}}; image_ctx->io_image_dispatcher->remap_extents( - std::move(extents), IMAGE_EXTENTS_MAP_TYPE_PHYSICAL_TO_LOGICAL); + extents, IMAGE_EXTENTS_MAP_TYPE_PHYSICAL_TO_LOGICAL); return extents[0].first; } diff --git a/src/test/librbd/mock/io/MockImageDispatcher.h b/src/test/librbd/mock/io/MockImageDispatcher.h index bd1c962e8d0c5..9e95f1d5cf8a4 100644 --- a/src/test/librbd/mock/io/MockImageDispatcher.h +++ b/src/test/librbd/mock/io/MockImageDispatcher.h @@ -39,7 +39,7 @@ public: MOCK_METHOD0(unblock_writes, void()); MOCK_METHOD1(wait_on_writes_unblocked, void(Context*)); - MOCK_METHOD2(remap_extents, void(Extents&&, ImageExtentsMapType)); + MOCK_METHOD2(remap_extents, void(Extents&, ImageExtentsMapType)); }; } // namespace io -- 2.39.5