linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH-v3] nvme: quiet user passthrough command errors
@ 2022-10-28 20:14 Keith Busch
  2022-10-28 21:02 ` Alan Adamson
  2022-11-01  7:51 ` Christoph Hellwig
  0 siblings, 2 replies; 3+ messages in thread
From: Keith Busch @ 2022-10-28 20:14 UTC (permalink / raw)
  To: linux-nvme
  Cc: hch, sagi, Keith Busch, Alan Adamson, Daniel Wagner,
	Kanchan Joshi, Jens Axboe, Chaitanya Kulkarni

From: Keith Busch <kbusch@kernel.org>

The driver is spamming the kernel logs for entirely harmless errors from
user space submitting unsupported commands. Just silence the errors.
The application has direct access to command status, so there's no need
to log these.

And since every passthrough command now uses the quiet flag, move the
setting to the common initializer.

Cc: Alan Adamson <alan.adamson@oracle.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
---
v2->v3:

  Move the quiet to the passthrough-only init (Alan)

 drivers/nvme/host/core.c | 3 +--
 drivers/nvme/host/pci.c  | 2 --
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 686c55cb5d1a..52ae0bdda65d 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -675,6 +675,7 @@ void nvme_init_request(struct request *req, struct nvme_command *cmd)
 	if (req->mq_hctx->type == HCTX_TYPE_POLL)
 		req->cmd_flags |= REQ_POLLED;
 	nvme_clear_nvme_request(req);
+	req->rq_flags |= RQF_QUIET;
 	memcpy(nvme_req(req)->cmd, cmd, sizeof(*cmd));
 }
 EXPORT_SYMBOL_GPL(nvme_init_request);
@@ -1037,7 +1038,6 @@ int __nvme_submit_sync_cmd(struct request_queue *q, struct nvme_command *cmd,
 			goto out;
 	}
 
-	req->rq_flags |= RQF_QUIET;
 	ret = nvme_execute_rq(req, at_head);
 	if (result && ret >= 0)
 		*result = nvme_req(req)->result;
@@ -1226,7 +1226,6 @@ static void nvme_keep_alive_work(struct work_struct *work)
 	rq->timeout = ctrl->kato * HZ;
 	rq->end_io = nvme_keep_alive_end_io;
 	rq->end_io_data = ctrl;
-	rq->rq_flags |= RQF_QUIET;
 	blk_execute_rq_nowait(rq, false);
 }
 
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 72b5c1addbff..8cd92283cbfc 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -1436,7 +1436,6 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req)
 
 	abort_req->end_io = abort_endio;
 	abort_req->end_io_data = NULL;
-	abort_req->rq_flags |= RQF_QUIET;
 	blk_execute_rq_nowait(abort_req, false);
 
 	/*
@@ -2485,7 +2484,6 @@ 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);
 	return 0;
 }
-- 
2.30.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH-v3] nvme: quiet user passthrough command errors
  2022-10-28 20:14 [PATCH-v3] nvme: quiet user passthrough command errors Keith Busch
@ 2022-10-28 21:02 ` Alan Adamson
  2022-11-01  7:51 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Alan Adamson @ 2022-10-28 21:02 UTC (permalink / raw)
  To: Keith Busch
  Cc: linux-nvme, hch, sagi, Keith Busch, Daniel Wagner, Kanchan Joshi,
	Jens Axboe, Chaitanya Kulkarni



> On Oct 28, 2022, at 1:14 PM, Keith Busch <kbusch@meta.com> wrote:
> 
> From: Keith Busch <kbusch@kernel.org>
> 
> The driver is spamming the kernel logs for entirely harmless errors from
> user space submitting unsupported commands. Just silence the errors.
> The application has direct access to command status, so there's no need
> to log these.
> 
> And since every passthrough command now uses the quiet flag, move the
> setting to the common initializer.
> 
> Cc: Alan Adamson <alan.adamson@oracle.com>
> Reviewed-by: Daniel Wagner <dwagner@suse.de>
> Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
> Reviewed-by: Jens Axboe <axboe@kernel.dk>
> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
> Signed-off-by: Keith Busch <kbusch@kernel.org>
> ---
> v2->v3:
> 
>  Move the quiet to the passthrough-only init (Alan)
> 
> drivers/nvme/host/core.c | 3 +--
> drivers/nvme/host/pci.c  | 2 --
> 2 files changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index 686c55cb5d1a..52ae0bdda65d 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -675,6 +675,7 @@ void nvme_init_request(struct request *req, struct nvme_command *cmd)
> 	if (req->mq_hctx->type == HCTX_TYPE_POLL)
> 		req->cmd_flags |= REQ_POLLED;
> 	nvme_clear_nvme_request(req);
> +	req->rq_flags |= RQF_QUIET;
> 	memcpy(nvme_req(req)->cmd, cmd, sizeof(*cmd));
> }
> EXPORT_SYMBOL_GPL(nvme_init_request);
> @@ -1037,7 +1038,6 @@ int __nvme_submit_sync_cmd(struct request_queue *q, struct nvme_command *cmd,
> 			goto out;
> 	}
> 
> -	req->rq_flags |= RQF_QUIET;
> 	ret = nvme_execute_rq(req, at_head);
> 	if (result && ret >= 0)
> 		*result = nvme_req(req)->result;
> @@ -1226,7 +1226,6 @@ static void nvme_keep_alive_work(struct work_struct *work)
> 	rq->timeout = ctrl->kato * HZ;
> 	rq->end_io = nvme_keep_alive_end_io;
> 	rq->end_io_data = ctrl;
> -	rq->rq_flags |= RQF_QUIET;
> 	blk_execute_rq_nowait(rq, false);
> }
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 72b5c1addbff..8cd92283cbfc 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -1436,7 +1436,6 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req)
> 
> 	abort_req->end_io = abort_endio;
> 	abort_req->end_io_data = NULL;
> -	abort_req->rq_flags |= RQF_QUIET;
> 	blk_execute_rq_nowait(abort_req, false);
> 
> 	/*
> @@ -2485,7 +2484,6 @@ 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);
> 	return 0;
> }
> -- 
> 2.30.2
> 

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

Alan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH-v3] nvme: quiet user passthrough command errors
  2022-10-28 20:14 [PATCH-v3] nvme: quiet user passthrough command errors Keith Busch
  2022-10-28 21:02 ` Alan Adamson
@ 2022-11-01  7:51 ` Christoph Hellwig
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2022-11-01  7:51 UTC (permalink / raw)
  To: Keith Busch
  Cc: linux-nvme, hch, sagi, Keith Busch, Alan Adamson, Daniel Wagner,
	Kanchan Joshi, Jens Axboe, Chaitanya Kulkarni

Thanks,

applied to nvme-6.1.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-01  7:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-28 20:14 [PATCH-v3] nvme: quiet user passthrough command errors Keith Busch
2022-10-28 21:02 ` Alan Adamson
2022-11-01  7:51 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).