nvme-fabrics: add a request timeout helper
The RDAMA and TCP transport both complete the timed out request in the same manner and hence code is duplicated. Add and use the helper nvmf_complete_timed_out_request() to remove the duplicate code. Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
b98235d3a4
commit
93ba75c905
|
@ -187,6 +187,14 @@ static inline char *nvmf_ctrl_subsysnqn(struct nvme_ctrl *ctrl)
|
|||
return ctrl->subsys->subnqn;
|
||||
}
|
||||
|
||||
static inline void nvmf_complete_timed_out_request(struct request *rq)
|
||||
{
|
||||
if (blk_mq_request_started(rq) && !blk_mq_request_completed(rq)) {
|
||||
nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD;
|
||||
blk_mq_complete_request(rq);
|
||||
}
|
||||
}
|
||||
|
||||
int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val);
|
||||
int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val);
|
||||
int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val);
|
||||
|
|
|
@ -2010,10 +2010,7 @@ static void nvme_rdma_complete_timed_out(struct request *rq)
|
|||
struct nvme_rdma_queue *queue = req->queue;
|
||||
|
||||
nvme_rdma_stop_queue(queue);
|
||||
if (blk_mq_request_started(rq) && !blk_mq_request_completed(rq)) {
|
||||
nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD;
|
||||
blk_mq_complete_request(rq);
|
||||
}
|
||||
nvmf_complete_timed_out_request(rq);
|
||||
}
|
||||
|
||||
static enum blk_eh_timer_return
|
||||
|
|
|
@ -2318,10 +2318,7 @@ static void nvme_tcp_complete_timed_out(struct request *rq)
|
|||
struct nvme_ctrl *ctrl = &req->queue->ctrl->ctrl;
|
||||
|
||||
nvme_tcp_stop_queue(ctrl, nvme_tcp_queue_id(req->queue));
|
||||
if (blk_mq_request_started(rq) && !blk_mq_request_completed(rq)) {
|
||||
nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD;
|
||||
blk_mq_complete_request(rq);
|
||||
}
|
||||
nvmf_complete_timed_out_request(rq);
|
||||
}
|
||||
|
||||
static enum blk_eh_timer_return
|
||||
|
|
Loading…
Reference in New Issue