[PATCH v1 1/1] nvme-core: exclude ioccsz/iorcsz checks for admin ctrlr

Keith Busch kbusch at kernel.org
Fri Sep 5 14:49:23 PDT 2025


On Fri, Sep 05, 2025 at 02:10:01PM -0700, Kamaljit Singh wrote:
> An administrative controller does not support I/O queues, hence it
> should exclude existing checks for IOCCSZ/IORCSZ.
> 
> Signed-off-by: Kamaljit Singh <kamaljit.singh at opensource.wdc.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 d67545bd7abb..ac72bae800a9 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -3491,14 +3491,14 @@ static int nvme_check_ctrl_fabric_info(struct nvme_ctrl *ctrl, struct nvme_id_ct
>  		return -EINVAL;
>  	}
>  
> -	if (!nvme_discovery_ctrl(ctrl) && ctrl->ioccsz < 4) {
> +	if (!nvmf_discovery_ctrl(ctrl) && !nvme_admin_ctrl(ctrl) && ctrl->ioccsz < 4) {
>  		dev_err(ctrl->device,
>  			"I/O queue command capsule supported size %d < 4\n",
>  			ctrl->ioccsz);
>  		return -EINVAL;
>  	}
>  
> -	if (!nvme_discovery_ctrl(ctrl) && ctrl->iorcsz < 1) {
> +	if (!nvmf_discovery_ctrl(ctrl) && !nvme_admin_ctrl(ctrl) && ctrl->iorcsz < 1) {

Excessive line length over 80 chars.

Perhaps, though, we should have a helper to indicate IO controllers
rather than chaining conditions for everything that isn't one.



More information about the Linux-nvme mailing list