[RFC PATCH] nvme-fc: move tagset removal to nvme_fc_delete_ctrl()
Christoph Hellwig
hch at lst.de
Wed Jan 15 22:10:04 PST 2025
On Mon, Jan 13, 2025 at 08:44:46PM +0800, Ming Lei wrote:
> Now target is removed from nvme_fc_ctrl_free() which is the ctrl->ref
> release handler. And even admin queue is unquiesced there, this way
> is definitely wrong because the ctr->ref is grabbed when submitting
> command.
>
> And Marco observed that nvme_fc_ctrl_free() can be called from request
> completion code path, and trigger kernel warning since request completes
> from softirq context.
>
> Fix the issue by moveing target removal into nvme_fc_delete_ctrl(),
> which is also aligned with nvme-tcp and nvme-rdma.
>
Yeah, the current placement is wrong. Can I talk someone to make
the whole setup/teardown process in nvme-fc match that of the other
fabrics (and slightly less so PCIe) order? I know a long time ago
Sagi was atually looking into sharing more code as well, but that
would be a next step.
But I'd really like to have one known working sequence instead
of various different ones.
More information about the Linux-nvme
mailing list