[PATCH 09/12] nvmet: Parse fabrics commands on all queues
Christoph Hellwig
hch at lst.de
Thu Nov 25 23:52:07 PST 2021
On Tue, Nov 23, 2021 at 01:37:58PM +0100, Hannes Reinecke wrote:
> Fabrics commands might be sent to all queues, not just the admin one.
>
> Signed-off-by: Hannes Reinecke <hare at suse.de>
> Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
> Reviewed-by: Himanshu Madhani <himanshu.madhani at oracle.com>
> ---
> drivers/nvme/target/core.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c
> index 5119c687de68..a3abbf50f7e0 100644
> --- a/drivers/nvme/target/core.c
> +++ b/drivers/nvme/target/core.c
> @@ -943,6 +943,8 @@ bool nvmet_req_init(struct nvmet_req *req, struct nvmet_cq *cq,
> if (unlikely(!req->sq->ctrl))
> /* will return an error for any non-connect command: */
> status = nvmet_parse_connect_cmd(req);
> + else if (nvme_is_fabrics(req->cmd))
> + status = nvmet_parse_fabrics_cmd(req);
This will allow all fabrics commands on the I/O queue, which is a bad
idea. Please please nvmet_parse_fabrics_cmd into
nvmet_parse_admin_fabrics_cmd and nvmet_parse_io_fabrics_cmd
More information about the Linux-nvme
mailing list