Commit 88e837ed authored by James Smart's avatar James Smart Committed by Christoph Hellwig
Browse files

nvme-fc: wait for queues to freeze before calling update_hr_hw_queues



On reconnect, the code currently does not freeze the controller before
possibly updating the number hw queues for the controller.

Add the freeze before updating the number of hw queues.  Note: the queues
are already started and remain started through the reconnect.

Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Reviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 514a6dc9
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -2885,11 +2885,14 @@ nvme_fc_recreate_io_queues(struct nvme_fc_ctrl *ctrl)
	if (ret)
		goto out_delete_hw_queues;

	if (prior_ioq_cnt != nr_io_queues)
	if (prior_ioq_cnt != nr_io_queues) {
		dev_info(ctrl->ctrl.device,
			"reconnect: revising io queue count from %d to %d\n",
			prior_ioq_cnt, nr_io_queues);
		nvme_wait_freeze(&ctrl->ctrl);
		blk_mq_update_nr_hw_queues(&ctrl->tag_set, nr_io_queues);
		nvme_unfreeze(&ctrl->ctrl);
	}

	return 0;