[PATCH v4 5/5] nvme_fc: add dev_loss_tmo timeout and remoteport resume support

Hannes Reinecke hare at suse.de
Fri Oct 27 00:16:06 PDT 2017


On 10/26/2017 01:43 AM, James Smart wrote:
> This patch adds the dev_loss_tmo functionality to the transport.
> 
> When a remoteport is unregistered (connectivity lost), the following
> actions are taken:
> - the remoteport is marked DELETED
> - the time when dev_loss_tmo would expire is set in the remoteport
> - all controllers on the remoteport are reset.
> 
> After a controller resets, it will stall in a RECONNECTING state
> waiting for one of the following:
> - the controller will continue to attempt reconnect per max_retries
>   and reconnect_delay. As no remoteport connectivity, the reconnect
>   attempt will immediately fail. if max reconnects has not been
>   reached, a new reconnect_delay timer will be schedule. If the
>   current time plus another reconnect_delay exceeds when dev_loss_tmo
>   expires on the remote port, then the reconnect_delay will be
>   shortend to schedule no later than when dev_loss_tmo expires.
>   if max reconnect attempts are reached (e.g. ctrl_loss_tmo reached)
>   or dev_loss_tmo ix exceeded without connectivity, the controller
>   is deleted.
> - the remoteport is re-registered prior to dev_loss_tmo expiring.
>   The resume of the remoteport will immediately attempt to reconnect
>   each of its suspended controllers.
> 
> Signed-off-by: James Smart <james.smart at broadcom.com>
> ---
>  drivers/nvme/host/fc.c | 281 ++++++++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 242 insertions(+), 39 deletions(-)
> 
Reviewed-by: Hannes Reinecke <hare at suse.com>

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