| 289 | |
| 290 | template <typename I> |
| 291 | void ObjectMapIterateRequest<I>::send_invalidate_object_map() { |
| 292 | CephContext *cct = m_image_ctx.cct; |
| 293 | |
| 294 | ldout(cct, 5) << this << " send_invalidate_object_map" << dendl; |
| 295 | m_state = STATE_INVALIDATE_OBJECT_MAP; |
| 296 | |
| 297 | object_map::InvalidateRequest<I>*req = |
| 298 | object_map::InvalidateRequest<I>::create(m_image_ctx, m_image_ctx.snap_id, |
| 299 | true, |
| 300 | this->create_callback_context()); |
| 301 | |
| 302 | ceph_assert(ceph_mutex_is_locked(m_image_ctx.owner_lock)); |
| 303 | std::unique_lock image_locker{m_image_ctx.image_lock}; |
| 304 | req->send(); |
| 305 | } |
| 306 | |
| 307 | } // namespace operation |
| 308 | } // namespace librbd |
nothing calls this directly
no test coverage detected