ioccsz and iorcsz check failing
Daniel Wagner
dwagner at suse.de
Wed Dec 20 01:02:00 PST 2023
On Wed, Dec 20, 2023 at 02:10:42AM +0200, Max Gurtovoy wrote:
> I just saw that Caleb also noticed that it shouldn't be relevant for
> discovery controllers. The mail got lost in the mailbox.
I found it also in the spam folder.
> Anyway, I believe the initiator/host code should be updated for 6.7 and must
> ignore these fields as the spec explicitly said it is reserved.
> For the target side, I prefer to keep it 0 for reserved fields since this is
> the convention in all the specifications that I'm aware of.
I've tried to figure out what our testing storage servers report (NetApp
AF-700 and a Dell Powerstore). Though I can't access our equipment right
now due to recabling activities in the datacenter.
> I have a small bug for above code so please use:
>
> 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);
>
With this blktests is happy and connecting to a remote nvme-tcp target
(Linux 6.1) works fine. So if you spin a proper patch feel free to add
Tested-by: Daniel Wagner <dwagner at suse.de>
More information about the Linux-nvme
mailing list