void update_snaps(
const hobject_t &hoid, ///< [in] object for snaps
- const std::set<snapid_t> &old_snaps,///< [in] old snaps value
- const std::set<snapid_t> &new_snaps ///< [in] new snaps value
+ std::set<snapid_t> &&old_snaps,///< [in] old snaps value
+ std::set<snapid_t> &&new_snaps ///< [in] new snaps value
) {
auto &op = get_object_op(hoid);
ceph_assert(!op.updated_snaps);
ceph_assert(op.buffer_updates.empty());
ceph_assert(!op.truncate);
op.updated_snaps = make_pair(
- old_snaps,
- new_snaps);
+ std::move(old_snaps),
+ std::move(new_snaps));
}
/// Clears, truncates
t->remove(coid);
t->update_snaps(
coid,
- old_snaps,
- new_snaps);
+ std::move(old_snaps),
+ std::move(new_snaps));
coi = object_info_t(coid);
t->update_snaps(
coid,
- old_snaps,
- new_snaps);
+ std::move(old_snaps),
+ std::move(new_snaps));
}
// save head snapset
pg->snap_trimq.erase(snap_to_trim);
- if (pg->snap_trimq_repeat.count(snap_to_trim)) {
+ if (auto it = pg->snap_trimq_repeat.find(snap_to_trim);
+ it != pg->snap_trimq_repeat.end()) {
ldout(pg->cct, 10) << " removing from snap_trimq_repeat" << dendl;
- pg->snap_trimq_repeat.erase(snap_to_trim);
+ pg->snap_trimq_repeat.erase(it);
} else {
ldout(pg->cct, 10) << "adding snap " << snap_to_trim
<< " to purged_snaps"