From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ruozhu Li <liruozhu@huawei.com>, Sagi Grimberg <sagi@grimberg.me>, Christoph Hellwig <hch@lst.de>, Sasha Levin <sashal@kernel.org>, linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 4.19 13/23] nvme-rdma: don't update queue count when failing to set io queues Date: Sun, 5 Sep 2021 21:23:12 -0400 [thread overview] Message-ID: <20210906012322.930668-13-sashal@kernel.org> (raw) In-Reply-To: <20210906012322.930668-1-sashal@kernel.org> From: Ruozhu Li <liruozhu@huawei.com> [ Upstream commit 85032874f80ba17bf187de1d14d9603bf3f582b8 ] We update ctrl->queue_count and schedule another reconnect when io queue count is zero.But we will never try to create any io queue in next reco- nnection, because ctrl->queue_count already set to zero.We will end up having an admin-only session in Live state, which is exactly what we try to avoid in the original patch. Update ctrl->queue_count after queue_count zero checking to fix it. Signed-off-by: Ruozhu Li <liruozhu@huawei.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/nvme/host/rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c index 8798274dc3ba..ffd6a7204509 100644 --- a/drivers/nvme/host/rdma.c +++ b/drivers/nvme/host/rdma.c @@ -643,13 +643,13 @@ static int nvme_rdma_alloc_io_queues(struct nvme_rdma_ctrl *ctrl) if (ret) return ret; - ctrl->ctrl.queue_count = nr_io_queues + 1; - if (ctrl->ctrl.queue_count < 2) { + if (nr_io_queues == 0) { dev_err(ctrl->ctrl.device, "unable to set any I/O queues\n"); return -ENOMEM; } + ctrl->ctrl.queue_count = nr_io_queues + 1; dev_info(ctrl->ctrl.device, "creating %d I/O queues.\n", nr_io_queues); -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ruozhu Li <liruozhu@huawei.com>, Sagi Grimberg <sagi@grimberg.me>, Christoph Hellwig <hch@lst.de>, Sasha Levin <sashal@kernel.org>, linux-nvme@lists.infradead.org Subject: [PATCH AUTOSEL 4.19 13/23] nvme-rdma: don't update queue count when failing to set io queues Date: Sun, 5 Sep 2021 21:23:12 -0400 [thread overview] Message-ID: <20210906012322.930668-13-sashal@kernel.org> (raw) In-Reply-To: <20210906012322.930668-1-sashal@kernel.org> From: Ruozhu Li <liruozhu@huawei.com> [ Upstream commit 85032874f80ba17bf187de1d14d9603bf3f582b8 ] We update ctrl->queue_count and schedule another reconnect when io queue count is zero.But we will never try to create any io queue in next reco- nnection, because ctrl->queue_count already set to zero.We will end up having an admin-only session in Live state, which is exactly what we try to avoid in the original patch. Update ctrl->queue_count after queue_count zero checking to fix it. Signed-off-by: Ruozhu Li <liruozhu@huawei.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/nvme/host/rdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/nvme/host/rdma.c b/drivers/nvme/host/rdma.c index 8798274dc3ba..ffd6a7204509 100644 --- a/drivers/nvme/host/rdma.c +++ b/drivers/nvme/host/rdma.c @@ -643,13 +643,13 @@ static int nvme_rdma_alloc_io_queues(struct nvme_rdma_ctrl *ctrl) if (ret) return ret; - ctrl->ctrl.queue_count = nr_io_queues + 1; - if (ctrl->ctrl.queue_count < 2) { + if (nr_io_queues == 0) { dev_err(ctrl->ctrl.device, "unable to set any I/O queues\n"); return -ENOMEM; } + ctrl->ctrl.queue_count = nr_io_queues + 1; dev_info(ctrl->ctrl.device, "creating %d I/O queues.\n", nr_io_queues); -- 2.30.2 _______________________________________________ Linux-nvme mailing list Linux-nvme@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2021-09-06 1:35 UTC|newest] Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-06 1:23 [PATCH AUTOSEL 4.19 01/23] locking/mutex: Fix HANDOFF condition Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 02/23] regmap: fix the offset of register error log Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 03/23] crypto: mxs-dcp - Check for DMA mapping errors Sasha Levin 2021-09-06 1:23 ` Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 04/23] sched/deadline: Fix reset_on_fork reporting of DL tasks Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 05/23] power: supply: axp288_fuel_gauge: Report register-address on readb / writeb errors Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 06/23] crypto: omap-sham - clear dma flags only after omap_sham_update_dma_stop() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 07/23] sched/deadline: Fix missing clock update in migrate_task_rq_dl() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 08/23] posix-cpu-timers: Force next expiration recalc after itimer reset Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 09/23] hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 10/23] udf: Check LVID earlier Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 11/23] isofs: joliet: Fix iocharset=utf8 mount option Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 12/23] bcache: add proper error unwinding in bcache_device_init Sasha Levin 2021-09-06 1:23 ` Sasha Levin [this message] 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 13/23] nvme-rdma: don't update queue count when failing to set io queues Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 14/23] power: supply: max17042_battery: fix typo in MAx17042_TOFF Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 15/23] s390/cio: add dev_busid sysfs entry for each subchannel Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 16/23] libata: fix ata_host_start() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 17/23] crypto: qat - do not ignore errors from enable_vf2pf_comms() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 18/23] crypto: qat - handle both source of interrupt in VF ISR Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 19/23] crypto: qat - fix reuse of completion variable Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 20/23] crypto: qat - fix naming for init/shutdown VF to PF notifications Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 21/23] crypto: qat - do not export adf_iov_putmsg() Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 22/23] fcntl: fix potential deadlock for &fasync_struct.fa_lock Sasha Levin 2021-09-06 1:23 ` [PATCH AUTOSEL 4.19 23/23] udf_get_extendedattr() had no boundary checks Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210906012322.930668-13-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=hch@lst.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=liruozhu@huawei.com \ --cc=sagi@grimberg.me \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.