[PATCH] nvme: mark internal passthru request RQF_QUIET

Alan Adamson alan.adamson at oracle.com
Wed Apr 20 15:43:41 PDT 2022


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

> On Apr 19, 2022, at 3:53 PM, Chaitanya Kulkarni <kch at 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 at 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
> 
> 




More information about the Linux-nvme mailing list