[PATCH 2/5] nvmet: cq: prepare for completion queue sharing
Damien Le Moal
dlemoal at kernel.org
Wed May 7 00:38:26 PDT 2025
On 5/7/25 4:34 PM, Wilfred Mallawa wrote:
>>> diff --git a/drivers/nvme/target/pci-epf.c
>>> b/drivers/nvme/target/pci-epf.c
>>> index 7fab7f3d79b7..7dda4156d86c 100644
>>> --- a/drivers/nvme/target/pci-epf.c
>>> +++ b/drivers/nvme/target/pci-epf.c
>>> @@ -1346,6 +1346,7 @@ static u16 nvmet_pci_epf_delete_cq(struct
>>> nvmet_ctrl *tctrl, u16 cqid)
>>> nvmet_pci_epf_drain_queue(cq);
>>> nvmet_pci_epf_remove_irq_vector(ctrl, cq->vector);
>>> nvmet_pci_epf_mem_unmap(ctrl->nvme_epf, &cq->pci_map);
>>> + tctrl->cqs[cqid] = NULL;
>>
>> I do not think we need for this hunk in this patch as we are not yet
>> using the
>> cqs array, and patch 4 removes this line to change it with a call to
>> nvmet_cq_put().
>>
> Hey Damien,
>
> This is added to undo the effects of `nvmet_cq_setup()`. If we don't,
> when a CQ is deleted and created (same id) it would incorrectly fail
> the `create && ctrl->cqs[cqid]` check in nvmet_check_cqid().
Oops. Yes, absolutely. Forgot that we already are calling nvmet_cq_setup().
Need more coffee :)
Sorry for the noise.
--
Damien Le Moal
Western Digital Research
More information about the Linux-nvme
mailing list