OSDN Git Service

nvme-fc: print proper nvme-fc devloss_tmo value
authorMartin George <marting@netapp.com>
Tue, 12 May 2020 16:47:04 +0000 (22:17 +0530)
committerChristoph Hellwig <hch@lst.de>
Wed, 27 May 2020 05:12:37 +0000 (07:12 +0200)
The nvme-fc devloss_tmo is computed as the min of either the
ctrl_loss_tmo (max_retries * reconnect_delay) or the remote port's
devloss_tmo. But what gets printed as the nvme-fc devloss_tmo in
nvme_fc_reconnect_or_delete() is always the remote port's devloss_tmo
value. So correct this by printing the min value instead.

Signed-off-by: Martin George <marting@netapp.com>
Reviewed-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/fc.c

index 0b3ab33..8aabc05 100644 (file)
@@ -3246,7 +3246,9 @@ nvme_fc_reconnect_or_delete(struct nvme_fc_ctrl *ctrl, int status)
                        dev_warn(ctrl->ctrl.device,
                                "NVME-FC{%d}: dev_loss_tmo (%d) expired "
                                "while waiting for remoteport connectivity.\n",
-                               ctrl->cnum, portptr->dev_loss_tmo);
+                               ctrl->cnum, min_t(int, portptr->dev_loss_tmo,
+                                       (ctrl->ctrl.opts->max_reconnects *
+                                        ctrl->ctrl.opts->reconnect_delay)));
                WARN_ON(nvme_delete_ctrl(&ctrl->ctrl));
        }
 }