virtual int objects_readv_sync(
const hobject_t &hoid,
- map<uint64_t, uint64_t>& m,
+ map<uint64_t, uint64_t>&& m,
uint32_t op_flags,
bufferlist *bl) {
return -EOPNOTSUPP;
}
bufferlist data_bl;
- r = pgbackend->objects_readv_sync(soid, m, op.flags, &data_bl);
+ r = pgbackend->objects_readv_sync(soid, std::move(m), op.flags, &data_bl);
if (r == -EIO) {
r = rep_repair_primary_object(soid, ctx);
}
int ReplicatedBackend::objects_readv_sync(
const hobject_t &hoid,
- map<uint64_t, uint64_t>& m,
+ map<uint64_t, uint64_t>&& m,
uint32_t op_flags,
bufferlist *bl)
{
- interval_set<uint64_t> im(m);
+ interval_set<uint64_t> im(std::move(m));
auto r = store->readv(ch, ghobject_t(hoid), im, *bl, op_flags);
if (r >= 0) {
m = std::move(im).detach();
int r = store->fiemap(ch, ghobject_t(recovery_info.soid), 0,
copy_subset.range_end(), m);
if (r >= 0) {
- interval_set<uint64_t> fiemap_included(m);
+ interval_set<uint64_t> fiemap_included(std::move(m));
copy_subset.intersection_of(fiemap_included);
} else {
// intersection of copy_subset and empty interval_set would be empty anyway
int objects_readv_sync(
const hobject_t &hoid,
- map<uint64_t, uint64_t>& m,
+ map<uint64_t, uint64_t>&& m,
uint32_t op_flags,
bufferlist *bl) override;