[PATCH 3/3] nvme: Fail controller on timeouts during reset

Sagi Grimberg sagi at grimberg.me
Sun Feb 11 01:53:06 PST 2018


>> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
>> index 7a2e4383c468..77929d35eae8 100644
>> --- a/drivers/nvme/host/pci.c
>> +++ b/drivers/nvme/host/pci.c
>> @@ -1212,11 +1212,15 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved)
>>   	/*
>>   	 * Shutdown immediately if controller times out while starting. The
>>   	 * reset work will see the pci device disabled when it gets the forced
>> -	 * cancellation error. All outstanding requests are completed on
>> +	 * cancellation error. The driver won't see the status if it is waiting
>> +	 * on asynchronous comands, so we set the state to deleting to prevent
>> +	 * it from progressing. All outstanding requests are completed on
>>   	 * shutdown, so we return BLK_EH_HANDLED.
>>   	 */
>>   	switch (dev->ctrl.state) {
>>   	case NVME_CTRL_CONNECTING:
> 
> It seems that Max's commit (Fix host side state machine) have not been committed.
> So it should be RECONNECTING here.

Actually, they are already in nvme-4.16-rc.

I'd like to pick these up as well once they converge (even
taking 1+3 would be a good start).



More information about the Linux-nvme mailing list