[PATCH v6 11/18] nvme-rdma: Use CCR to recover controller that hits an error

Mohamed Khalfella mkhalfella at purestorage.com
Tue Oct 20 18:25:30 PDT 2026


On Tue 2026-10-20 11:36:56 +0200, Daniel Wagner wrote:
> On Sun, Sep 20, 2026 at 11:28:09AM -0700, Mohamed Khalfella wrote:
> > @@ -1990,13 +2014,15 @@ static enum blk_eh_timer_return nvme_rdma_timeout(struct request *rq)
> >  	struct nvme_rdma_ctrl *ctrl = queue->ctrl;
> >  	struct nvme_command *cmd = req->req.cmd;
> >  	int qid = nvme_rdma_queue_idx(queue);
> > +	enum nvme_ctrl_state state;
> >  
> >  	dev_warn(ctrl->ctrl.device,
> >  		 "I/O tag %d (%04x) opcode %#x (%s) QID %d timeout\n",
> >  		 rq->tag, nvme_cid(rq), cmd->common.opcode,
> >  		 nvme_fabrics_opcode_str(qid, cmd), qid);
> >  
> > -	if (nvme_ctrl_state(&ctrl->ctrl) != NVME_CTRL_LIVE) {
> > +	state = nvme_ctrl_state(&ctrl->ctrl);
> > +	if (state != NVME_CTRL_LIVE && state != NVME_CTRL_FENCING) {
> 
> documentation needs to be udpated like in the tcp patch.

Done



More information about the Linux-nvme mailing list