req->send();
}
+template <typename I>
+bool ObjectMap<I>::set_object_map(ceph::BitVector<2> &target_object_map) {
+ assert(m_image_ctx.owner_lock.is_locked());
+ assert(m_image_ctx.snap_lock.is_locked());
+ assert(m_image_ctx.test_features(RBD_FEATURE_OBJECT_MAP,
+ m_image_ctx.snap_lock));
+ RWLock::RLocker object_map_locker(m_image_ctx.object_map_lock);
+ m_object_map = target_object_map;
+ return true;
+}
+
template <typename I>
void ObjectMap<I>::rollback(uint64_t snap_id, Context *on_finish) {
assert(m_image_ctx.snap_lock.is_locked());