Commit fdf9dfa8 authored by Sagi Grimberg's avatar Sagi Grimberg Committed by Christoph Hellwig
Browse files

nvme: move nr_reconnects to nvme_ctrl



It is not a user option but rather a variable controller
attribute.

Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent c669ccdc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+0 −2
Original line number Diff line number Diff line
@@ -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;
};

+3 −3
Original line number Diff line number Diff line
@@ -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));
	}
}
+1 −0
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ struct nvme_ctrl {
	u32 iorcsz;
	u16 icdoff;
	u16 maxcmd;
	int nr_reconnects;
	struct nvmf_ctrl_options *opts;
};

+3 −3
Original line number Diff line number Diff line
@@ -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);
}