ExclusiveLock<I>::ExclusiveLock(I &image_ctx)
: ML<I>(image_ctx.md_ctx, image_ctx.op_work_queue, image_ctx.header_oid,
image_ctx.image_watcher, managed_lock::EXCLUSIVE,
- image_ctx.blacklist_on_break_lock,
- image_ctx.blacklist_expire_seconds),
+ image_ctx.config.template get_val<bool>("rbd_blacklist_on_break_lock"),
+ image_ctx.config.template get_val<uint64_t>("rbd_blacklist_expire_seconds")),
m_image_ctx(image_ctx) {
Mutex::Locker locker(ML<I>::m_lock);
ML<I>::set_state_uninitialized();
void ExclusiveLock<I>::unblock_requests() {
Mutex::Locker locker(ML<I>::m_lock);
- assert(m_request_blocked_count > 0);
+ ceph_assert(m_request_blocked_count > 0);
m_request_blocked_count--;
if (m_request_blocked_count == 0) {
m_request_blocked_ret_val = 0;
template <typename I>
void ExclusiveLock<I>::init(uint64_t features, Context *on_init) {
- assert(m_image_ctx.owner_lock.is_locked());
+ ceph_assert(m_image_ctx.owner_lock.is_locked());
ldout(m_image_ctx.cct, 10) << dendl;
{
}
ldout(m_image_ctx.cct, 10) << dendl;
- assert(ML<I>::is_action_acquire_lock());
+ ceph_assert(ML<I>::is_action_acquire_lock());
m_acquire_lock_peer_ret_val = r;
ML<I>::execute_next_action();
template <typename I>
Context *ExclusiveLock<I>::start_op(int* ret_val) {
- assert(m_image_ctx.owner_lock.is_locked());
+ ceph_assert(m_image_ctx.owner_lock.is_locked());
Mutex::Locker locker(ML<I>::m_lock);
if (!accept_ops(ML<I>::m_lock)) {
return;
} else if (r < 0) {
ML<I>::m_lock.Lock();
- assert(ML<I>::is_state_acquiring());
+ ceph_assert(ML<I>::is_state_acquiring());
// PostAcquire state machine will not run, so we need complete prepare
m_image_ctx.state->handle_prepare_lock_complete();
Mutex::Locker locker(ML<I>::m_lock);
- assert(r == 0);
+ ceph_assert(r == 0);
// lock is owned at this point
ML<I>::set_state_post_acquiring();
Context *on_finish = nullptr;
{
Mutex::Locker locker(ML<I>::m_lock);
- assert(ML<I>::is_state_acquiring() || ML<I>::is_state_post_acquiring());
+ ceph_assert(ML<I>::is_state_acquiring() || ML<I>::is_state_post_acquiring());
assert (m_pre_post_callback != nullptr);
std::swap(m_pre_post_callback, on_finish);
if (!shutting_down) {
{
Mutex::Locker locker(ML<I>::m_lock);
- assert(ML<I>::is_state_pre_releasing() || ML<I>::is_state_releasing());
+ ceph_assert(ML<I>::is_state_pre_releasing() || ML<I>::is_state_releasing());
}
if (r >= 0) {