Re: [PATCH] nvme: mark internal passthru request RQF_QUIET

Alan Adamson
2022-04-20T22:44:11Z

Reviewed-by: Alan Adamson <alan.adamson@oracle.com>

> On Apr 19, 2022, at 3:53 PM, Chaitanya Kulkarni <kch@nvidia.com> wrote:
>
> Most of the internal passthru commands use __nvme_submit_sync_cmd()
> interface. There are few places we open code the request submission :-
>
> 1. nvme_keep_alive_work(struct work_struct *work)
> 2. nvme_timeout(struct request *req, bool reserved)
> 3. nvme_delete_queue(struct nvme_queue *nvmeq, u8 opcode)
>
> Mark the internal passthru request quiet so that we can skip the verbose
> error message from nvme_log_error() in nvme_end_req() completion path,
> this will be consistent with what we have in __nvme_submit_sync_cmd().
>
> Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
> ---
> drivers/nvme/host/core.c | 1 +
> drivers/nvme/host/pci.c | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index e1846d04817f..c6809045aec3 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -1207,6 +1207,7 @@ static void nvme_keep_alive_work(struct work_struct *work)
>
> rq->timeout = ctrl->kato * HZ;
> rq->end_io_data = ctrl;
> + rq->rq_flags |= RQF_QUIET;
> blk_execute_rq_nowait(rq, false, nvme_keep_alive_end_io);
> }
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 3aacf1c0d5a5..f326261456ac 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -1439,6 +1439,7 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved)
> nvme_init_request(abort_req, &cmd);
>
> abort_req->end_io_data = NULL;
> + abort_req->rq_flags |= RQF_QUIET;
> blk_execute_rq_nowait(abort_req, false, abort_endio);
>
> /*
> @@ -2486,6 +2487,7 @@ static int nvme_delete_queue(struct nvme_queue *nvmeq, u8 opcode)
> req->end_io_data = nvmeq;
>
> init_completion(&nvmeq->delete_done);
> + req->rq_flags |= RQF_QUIET;
> blk_execute_rq_nowait(req, false, opcode == nvme_admin_delete_cq ?
> nvme_del_cq_end : nvme_del_queue_end);
> return 0;
> --
> 2.29.0
>
>