MCPcopy Create free account
hub / github.com/ceph/ceph / aio_resize

Method aio_resize

src/librbd/ObjectMap.cc:229–245  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227
228template <typename I>
229void ObjectMap<I>::aio_resize(uint64_t new_size, uint8_t default_object_state,
230 Context *on_finish) {
231 ceph_assert(ceph_mutex_is_locked(m_image_ctx.owner_lock));
232 ceph_assert(ceph_mutex_is_locked(m_image_ctx.image_lock));
233 ceph_assert(m_image_ctx.test_features(RBD_FEATURE_OBJECT_MAP,
234 m_image_ctx.image_lock));
235 ceph_assert(m_image_ctx.image_watcher != NULL);
236 ceph_assert(m_image_ctx.exclusive_lock == nullptr ||
237 m_image_ctx.exclusive_lock->is_lock_owner());
238
239 Context *ctx = create_context_callback<Context>(on_finish, this);
240
241 object_map::ResizeRequest *req = new object_map::ResizeRequest(
242 m_image_ctx, &m_lock, &m_object_map, m_snap_id, new_size,
243 default_object_state, ctx);
244 req->send();
245}
246
247template <typename I>
248void ObjectMap<I>::detained_aio_update(UpdateOperation &&op) {

Callers 4

send_grow_object_mapMethod · 0.80

Calls 3

test_featuresMethod · 0.80
is_lock_ownerMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected