[PATCH 6/6] nvme: ignore retries for multipath devices
Hannes Reinecke
hare at suse.de
Tue Oct 3 03:02:38 PDT 2017
On 10/02/2017 06:22 PM, Christoph Hellwig wrote:
>> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
>> index 1ef11ca..ac7676a 100644
>> --- a/drivers/nvme/host/core.c
>> +++ b/drivers/nvme/host/core.c
>> @@ -201,7 +201,8 @@ static inline bool nvme_req_needs_retry(struct request *req)
>> return false;
>> if (nvme_req(req)->status & NVME_SC_DNR)
>> return false;
>> - if (nvme_req(req)->retries >= nvme_max_retries)
>> + if (nvme_req(req)->retries >= nvme_max_retries &&
>> + !(req->cmd_flags & REQ_NVME_MPATH))
>> return false;
>> return true;
>
> All failover logic is inside a nvme_req_needs_retry() conditional,
> so this change looks completely broken - it basically disables
> failover.
>
Not in our tests.
Without this patch we'd been seeing I/O errors during failover; with
this patch I/O continues on the failover path.
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare at suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
More information about the Linux-nvme
mailing list