[PATCHv3 2/4] nvme: use blk_execute_rq() for passthrough commands

Kanchan Joshi joshiiitr at gmail.com
Wed May 26 01:47:23 PDT 2021


On Sat, May 22, 2021 at 2:05 AM Keith Busch <kbusch at kernel.org> wrote:
>
> The generic blk_execute_rq() knows how to handle polled completions. Use
> that instead of implementing an nvme specific handler.
>
> Signed-off-by: Keith Busch <kbusch at kernel.org>
> ---
> No changes since v2
>
>  drivers/nvme/host/core.c    | 38 +++++--------------------------------
>  drivers/nvme/host/fabrics.c | 13 ++++++-------
>  drivers/nvme/host/fabrics.h |  2 +-
>  drivers/nvme/host/fc.c      |  2 +-
>  drivers/nvme/host/nvme.h    |  2 +-
>  drivers/nvme/host/rdma.c    |  3 +--
>  drivers/nvme/host/tcp.c     |  2 +-
>  drivers/nvme/target/loop.c  |  2 +-
>  8 files changed, 17 insertions(+), 47 deletions(-)
>
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index 762125f2905f..1a73eed61eee 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -1012,31 +1012,6 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
>  }
>  EXPORT_SYMBOL_GPL(nvme_setup_cmd);
>
> -static void nvme_end_sync_rq(struct request *rq, blk_status_t error)
> -{
> -       struct completion *waiting = rq->end_io_data;
> -
> -       rq->end_io_data = NULL;
> -       complete(waiting);
> -}
> -
> -static void nvme_execute_rq_polled(struct request_queue *q,
> -               struct gendisk *bd_disk, struct request *rq, int at_head)
> -{
> -       DECLARE_COMPLETION_ONSTACK(wait);
> -
> -       WARN_ON_ONCE(!test_bit(QUEUE_FLAG_POLL, &q->queue_flags));
> -
> -       rq->cmd_flags |= REQ_HIPRI;

The new code doesn't retain this flag.
Looks good otherwise.

Reviewed-by: Kanchan Joshi <joshi.k at samsung.com>.


-- 
Kanchan



More information about the Linux-nvme mailing list