maybe_wakeup_conflicting_requests(req);
req_may_be_completed_not_susp(req, m);
- put_ldev(mdev);
break;
case ABORT_DISK_IO:
__drbd_chk_io_error(mdev, false);
maybe_wakeup_conflicting_requests(req);
req_may_be_completed_not_susp(req, m);
- put_ldev(mdev);
break;
case READ_AHEAD_COMPLETED_WITH_ERROR:
req->rq_state |= RQ_LOCAL_COMPLETED;
req->rq_state &= ~RQ_LOCAL_PENDING;
req_may_be_completed_not_susp(req, m);
- put_ldev(mdev);
break;
case READ_COMPLETED_WITH_ERROR:
D_ASSERT(!(req->rq_state & RQ_NET_MASK));
__drbd_chk_io_error(mdev, false);
- put_ldev(mdev);
goto_queue_for_net_read:
spin_lock_irqsave(&mdev->tconn->req_lock, flags);
__req_mod(req, what, &m);
spin_unlock_irqrestore(&mdev->tconn->req_lock, flags);
+ put_ldev(mdev);
if (m.bio)
complete_master_bio(mdev, &m);