Loading drivers/nvme/host/rdma.c +7 −4 Original line number Original line Diff line number Diff line Loading @@ -1614,12 +1614,15 @@ nvme_rdma_queue_is_ready(struct nvme_rdma_queue *queue, struct request *rq) /* /* * reconnecting state means transport disruption, which * reconnecting state means transport disruption, which * can take a long time and even might fail permanently, * can take a long time and even might fail permanently, * so we can't let incoming I/O be requeued forever. * fail fast to give upper layers a chance to failover. * fail it fast to allow upper layers a chance to * deleting state means that the ctrl will never accept * failover. * commands again, fail it permanently. */ */ if (queue->ctrl->ctrl.state == NVME_CTRL_RECONNECTING) if (queue->ctrl->ctrl.state == NVME_CTRL_RECONNECTING || queue->ctrl->ctrl.state == NVME_CTRL_DELETING) { nvme_req(rq)->status = NVME_SC_ABORT_REQ; return BLK_STS_IOERR; return BLK_STS_IOERR; } return BLK_STS_RESOURCE; /* try again later */ return BLK_STS_RESOURCE; /* try again later */ } } } } Loading Loading
drivers/nvme/host/rdma.c +7 −4 Original line number Original line Diff line number Diff line Loading @@ -1614,12 +1614,15 @@ nvme_rdma_queue_is_ready(struct nvme_rdma_queue *queue, struct request *rq) /* /* * reconnecting state means transport disruption, which * reconnecting state means transport disruption, which * can take a long time and even might fail permanently, * can take a long time and even might fail permanently, * so we can't let incoming I/O be requeued forever. * fail fast to give upper layers a chance to failover. * fail it fast to allow upper layers a chance to * deleting state means that the ctrl will never accept * failover. * commands again, fail it permanently. */ */ if (queue->ctrl->ctrl.state == NVME_CTRL_RECONNECTING) if (queue->ctrl->ctrl.state == NVME_CTRL_RECONNECTING || queue->ctrl->ctrl.state == NVME_CTRL_DELETING) { nvme_req(rq)->status = NVME_SC_ABORT_REQ; return BLK_STS_IOERR; return BLK_STS_IOERR; } return BLK_STS_RESOURCE; /* try again later */ return BLK_STS_RESOURCE; /* try again later */ } } } } Loading