From c06d3c63f42d337c2e61bc565dd38bacc9429e90 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 17 Dec 2020 20:01:29 +0800 Subject: [PATCH] crimson/osd: use move() to avoid memcpy() try to move away from the returned map of xattrs. Signed-off-by: Kefu Chai --- src/crimson/osd/replicated_recovery_backend.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 53bce25f090..657cd77ea0a 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -374,9 +374,8 @@ seastar::future ReplicatedRecoveryBackend::build_push_op( pop->omap_header.claim_append(bl); return store->get_attrs(coll, ghobject_t(recovery_info.soid)); }).safe_then([&oi, pop, &new_progress, &v](auto attrs) mutable { - //pop->attrset = attrs; - for (auto p : attrs) { - pop->attrset[p.first].push_back(p.second); + for (auto& [key, val] : attrs) { + pop->attrset[std::move(key)].push_back(std::move(val)); } logger().debug("build_push_op: {}", pop->attrset[OI_ATTR]); oi.decode(pop->attrset[OI_ATTR]); -- 2.47.3