]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: use move() to avoid memcpy()
authorKefu Chai <kchai@redhat.com>
Thu, 17 Dec 2020 12:01:29 +0000 (20:01 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 17 Dec 2020 12:01:30 +0000 (20:01 +0800)
try to move away from the returned map of xattrs.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/osd/replicated_recovery_backend.cc

index 53bce25f090c27e43a5e69ebbb16c0825ee3ee33..657cd77ea0a97380354cff13a9a78f8c8b9e4b01 100644 (file)
@@ -374,9 +374,8 @@ seastar::future<PushOp> 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]);