Re: [PATCH v5 12/16] nvme-fc: Refactor IO error recovery

Hannes Reinecke <[email protected]>
Newsgroups org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 7/12/26 4:23 AM, Mohamed Khalfella wrote:
> Added new nvme_fc_start_ioerr_recovery() to trigger error recovery
> instead of directly queueing ctrl->ioerr_work. nvme_fc_error_recovery()
> now called only from ctrl->ioerr_work has been updated to not depend on
> nvme_reset_ctrl() to handle error recovery. nvme_fc_error_recovery()
> effectively resets the controller and attempts reconnection if needed.
> This makes nvme-fc ioerr handling similar to other fabric transports.
> 
> Update nvme_fc_timeout() to not abort timed out IOs. IOs aborted from
> nvme_fc_timeout() are not accounted for in ctrl->iocnt and this causes
> nvme_fc_delete_association() not to wait for them. Instead of aborting
> IOs nvme_fc_timeout() calls nvme_fc_start_ioerr_recovery() to start IO
> error recovery. Since error recovery runs in ctrl->ioerr_work this
> change fixes the issue reported in the link below.
> 
> Link: https://lore.kernel.org/all/[email protected]/
> Signed-off-by: Mohamed Khalfella <[email protected]>
> ---
>   drivers/nvme/host/fc.c | 119 +++++++++++++++++++++++------------------
>   1 file changed, 66 insertions(+), 53 deletions(-)
> 
This is hard to read. Please split it several parst, one with
open-coding nvme_reset_work(), one with adding 
nvme_fc_start_ioerr_recovery((), and another one with the rest.
If that makes sense to you...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
[email protected]                                +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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.