[PATCH 1/1] nvme-fabrics: don't check ioccsz/iorcsz for discovery
Sagi Grimberg
sagi at grimberg.me
Wed Dec 20 11:29:06 PST 2023
> IOCCSZ and IORCSZ are reserved for discovery controllers. Avoid checking
> their values during identify controller phase.
>
> Fixes: 2fcd3ab39826 ("nvme-fabrics: check ioccsz and iorcsz")
> Reported-by: Daniel Wagner <dwagner at suse.de>
> Tested-by: Daniel Wagner <dwagner at suse.de>
> Signed-off-by: Max Gurtovoy <mgurtovoy at nvidia.com>
> ---
> drivers/nvme/host/core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index ee2e4c49892d..b218ac88fcf8 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -3068,14 +3068,14 @@ static int nvme_check_ctrl_fabric_info(struct nvme_ctrl *ctrl, struct nvme_id_ct
> return -EINVAL;
> }
>
> - if (ctrl->ioccsz < 4) {
> + if (!nvme_discovery_ctrl(ctrl) && ctrl->ioccsz < 4) {
> dev_err(ctrl->device,
> "I/O queue command capsule supported size %d < 4\n",
> ctrl->ioccsz);
> return -EINVAL;
> }
>
> - if (ctrl->iorcsz < 1) {
> + if (!nvme_discovery_ctrl(ctrl) && ctrl->iorcsz < 1) {
> dev_err(ctrl->device,
> "I/O queue response capsule supported size %d < 1\n",
> ctrl->iorcsz);
I still think we should at least warn (and ignore) for discovery
controllers.
More information about the Linux-nvme
mailing list