template <typename I>
Operations<I>::Operations(I &image_ctx)
- : m_image_ctx(image_ctx), m_async_request_seq(0),
+ : m_image_ctx(image_ctx),
m_queue_lock(ceph::make_mutex(
util::unique_lock_name("librbd::Operations::m_queue_lock",
this))) {
}
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_FLATTEN,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
return r;
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_REBUILD_OBJECT_MAP,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL, true,
boost::bind(&Operations<I>::execute_rebuild_object_map,
}
if (m_image_ctx.test_features(RBD_FEATURE_JOURNALING)) {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_RENAME,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
true,
return -EINVAL;
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_RESIZE,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
}
m_image_ctx.image_lock.unlock_shared();
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
C_InvokeAsyncRequest<I> *req = new C_InvokeAsyncRequest<I>(
m_image_ctx, OPERATION_SNAP_CREATE,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL, true,
m_image_ctx.image_lock.unlock_shared();
if (proxy_op) {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
auto request_type = exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL;
if (cls::rbd::get_snap_namespace_type(snap_namespace) ==
cls::rbd::SNAPSHOT_NAMESPACE_TYPE_TRASH) {
}
if (m_image_ctx.test_features(RBD_FEATURE_JOURNALING)) {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_SNAP_RENAME,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
true,
}
if (m_image_ctx.test_features(RBD_FEATURE_JOURNALING)) {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_SNAP_PROTECT,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
true,
}
if (m_image_ctx.test_features(RBD_FEATURE_JOURNALING)) {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_SNAP_UNPROTECT,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
true,
r = cond_ctx.wait();
} else {
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_UPDATE_FEATURES,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
return -EROFS;
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_METADATA_UPDATE,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
if(r < 0)
return r;
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_METADATA_UPDATE,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
}
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
r = invoke_async_request(OPERATION_MIGRATE,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,
return -EINVAL;
}
- uint64_t request_id = ++m_async_request_seq;
+ uint64_t request_id = util::reserve_async_request_id();
int r = invoke_async_request(OPERATION_SPARSIFY,
exclusive_lock::OPERATION_REQUEST_TYPE_GENERAL,
false,