nvme: move nr_reconnects to nvme_ctrl
authorSagi Grimberg <sagi@grimberg.me>
Thu, 4 May 2017 10:33:15 +0000 (13:33 +0300)
committerChristoph Hellwig <hch@lst.de>
Thu, 15 Jun 2017 12:29:49 +0000 (14:29 +0200)
It is not a user option but rather a variable controller
attribute.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/fabrics.c
drivers/nvme/host/fabrics.h
drivers/nvme/host/fc.c
drivers/nvme/host/nvme.h
drivers/nvme/host/rdma.c

index c190d7e36900175f41110e97b8c327f93fc47fdd..4ed1447830794a6045053dcb640d00b6c5f09f7c 100644 (file)
@@ -474,7 +474,7 @@ EXPORT_SYMBOL_GPL(nvmf_connect_io_queue);
 bool nvmf_should_reconnect(struct nvme_ctrl *ctrl)
 {
        if (ctrl->opts->max_reconnects != -1 &&
-           ctrl->opts->nr_reconnects < ctrl->opts->max_reconnects)
+           ctrl->nr_reconnects < ctrl->opts->max_reconnects)
                return true;
 
        return false;
index 29be7600689d41ed5549d5fc070c070cb1d8f7ae..f1c9bd7ae7ffa05ef88fd9632db9a1908b44c980 100644 (file)
@@ -80,7 +80,6 @@ enum {
  * @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
  * @kato:      Keep-alive timeout.
  * @host:      Virtual NVMe host, contains the NQN and Host ID.
- * @nr_reconnects: number of reconnect attempted since the last ctrl failure
  * @max_reconnects: maximum number of allowed reconnect attempts before removing
  *              the controller, (-1) means reconnect forever, zero means remove
  *              immediately;
@@ -98,7 +97,6 @@ struct nvmf_ctrl_options {
        bool                    discovery_nqn;
        unsigned int            kato;
        struct nvmf_host        *host;
-       int                     nr_reconnects;
        int                     max_reconnects;
 };
 
index e6084f3b365f67eb359e1696e1007d363cbbc4fd..ba9024a20baceab1553eec72e6419a2d48b6c48d 100644 (file)
@@ -2310,7 +2310,7 @@ nvme_fc_create_association(struct nvme_fc_ctrl *ctrl)
        int ret;
        bool changed;
 
-       ++ctrl->ctrl.opts->nr_reconnects;
+       ++ctrl->ctrl.nr_reconnects;
 
        /*
         * Create the admin queue
@@ -2407,7 +2407,7 @@ nvme_fc_create_association(struct nvme_fc_ctrl *ctrl)
        changed = nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_LIVE);
        WARN_ON_ONCE(!changed);
 
-       ctrl->ctrl.opts->nr_reconnects = 0;
+       ctrl->ctrl.nr_reconnects = 0;
 
        if (ctrl->queue_count > 1) {
                nvme_start_queues(&ctrl->ctrl);
@@ -2612,7 +2612,7 @@ nvme_fc_reconnect_or_delete(struct nvme_fc_ctrl *ctrl, int status)
                dev_warn(ctrl->ctrl.device,
                                "NVME-FC{%d}: Max reconnect attempts (%d) "
                                "reached. Removing controller\n",
-                               ctrl->cnum, ctrl->ctrl.opts->nr_reconnects);
+                               ctrl->cnum, ctrl->ctrl.nr_reconnects);
                WARN_ON(__nvme_fc_schedule_delete_work(ctrl));
        }
 }
index 80e9adce2691af03dcdf0e4575f454e52ee22fd3..b1dc0abb2deb8daf300cac9e5eacec799f438aa1 100644 (file)
@@ -177,6 +177,7 @@ struct nvme_ctrl {
        u32 iorcsz;
        u16 icdoff;
        u16 maxcmd;
+       int nr_reconnects;
        struct nvmf_ctrl_options *opts;
 };
 
index 8805d3400846e37bd16688bc4a3dc32225c5f262..2c714f8266bc8a341bf3ba09c58bae3332df4e17 100644 (file)
@@ -725,7 +725,7 @@ static void nvme_rdma_reconnect_ctrl_work(struct work_struct *work)
        bool changed;
        int ret;
 
-       ++ctrl->ctrl.opts->nr_reconnects;
+       ++ctrl->ctrl.nr_reconnects;
 
        if (ctrl->queue_count > 1) {
                nvme_rdma_free_io_queues(ctrl);
@@ -769,7 +769,7 @@ static void nvme_rdma_reconnect_ctrl_work(struct work_struct *work)
 
        changed = nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_LIVE);
        WARN_ON_ONCE(!changed);
-       ctrl->ctrl.opts->nr_reconnects = 0;
+       ctrl->ctrl.nr_reconnects = 0;
 
        if (ctrl->queue_count > 1) {
                nvme_queue_scan(&ctrl->ctrl);
@@ -782,7 +782,7 @@ static void nvme_rdma_reconnect_ctrl_work(struct work_struct *work)
 
 requeue:
        dev_info(ctrl->ctrl.device, "Failed reconnect attempt %d\n",
-                       ctrl->ctrl.opts->nr_reconnects);
+                       ctrl->ctrl.nr_reconnects);
        nvme_rdma_reconnect_or_remove(ctrl);
 }