[PATCH 1/1] nvme-fc: Do not cancel requests in io target before it is initialized

Daniel Wagner dwagner at suse.de
Mon Jun 1 02:47:13 PDT 2026


On Thu, May 28, 2026 at 11:27:34AM +0200, Maurizio Lombardi wrote:
> -	if (ctrl->ctrl.queue_count > 1) {
> +	if (ctrl->ctrl.queue_count > 1 && ctrl->ctrl.tagset) {
>  		nvme_quiesce_io_queues(&ctrl->ctrl);
>  		nvme_sync_io_queues(&ctrl->ctrl);
>  		blk_mq_tagset_busy_iter(&ctrl->tag_set,

Yes, that makes sense.

> @@ -2900,6 +2900,11 @@ nvme_fc_create_io_queues(struct nvme_fc_ctrl *ctrl)
>  out_delete_hw_queues:
>  	nvme_fc_delete_hw_io_queues(ctrl);
>  out_cleanup_tagset:
> +	/*
> +	 * In CONNECTING state ctrl->ioerr_work will abort both admin
> +	 * and io tagsets. Cancel it first before removing io tagset.
> +	 */
> +	cancel_work_sync(&ctrl->ioerr_work);
>  	nvme_remove_io_tag_set(&ctrl->ctrl);
>  	nvme_fc_free_io_queues(ctrl);

Again, does makes sense but which tree is this based on? I don't see
this hunk in master or in nvme-7.2.



More information about the Linux-nvme mailing list