[PATCH 08/18] nvme: Implement cross-controller reset recovery
Hannes Reinecke
hare at suse.de
Mon Sep 21 00:04:56 PDT 2026
On 9/18/26 8:14 PM, Mohamed Khalfella wrote:
> A host that has more than one path connecting to an nvme subsystem
> typically has an nvme controller associated with every path. This is
> mostly applicable to nvmeof. If one path goes down, inflight IOs on that
> path should not be retried immediately on another path because this
> could lead to data corruption as described in TP4129. TP8028 defines
> cross-controller reset mechanism that can be used by host to terminate
> IOs on the failed path using one of the remaining healthy paths. Only
> after IOs are terminated, or long enough time passes as defined by
> TP4129, inflight IOs should be retried on another path. Implement core
> cross-controller reset shared logic to be used by the transports.
>
> Signed-off-by: Mohamed Khalfella <mkhalfella at purestorage.com>
> Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
> ---
> drivers/nvme/host/constants.c | 1 +
> drivers/nvme/host/core.c | 152 ++++++++++++++++++++++++++++++++++
> drivers/nvme/host/nvme.h | 10 +++
> 3 files changed, 163 insertions(+)
>
Reviewed-by: Hannes Reinecke <hare at kernel.org>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
More information about the Linux-nvme
mailing list