This commit changes the remap_extents api to use lvalue instead of ravlue references
Signed-off-by: Or Ozeri <oro@il.ibm.com>
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;
return false;
}
- void remap_extents(io::Extents&& image_extents,
+ void remap_extents(io::Extents& image_extents,
io::ImageExtentsMapType type) override;
private:
virtual bool invalidate_cache(Context* on_finish) = 0;
- virtual void remap_extents(Extents&& image_extents,
+ virtual void remap_extents(Extents& image_extents,
ImageExtentsMapType type) {}
};
}
template <typename I>
-void ImageDispatcher<I>::remap_extents(Extents&& image_extents,
+void ImageDispatcher<I>::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);
}
};
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:
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;
};
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);
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 <typename I>
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;
}
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