[PATCHv2] nvme: quiet user passthrough command errors

Keith Busch kbusch at meta.com
Thu Oct 27 08:04:17 PDT 2022


From: Keith Busch <kbusch at 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 wants the quiet flag, move the
setting to every user's common initializer.

Cc: Daniel Wagner <dwagner at suse.de>
Cc: Alan Adamson <alan.adamson at oracle.com>
Signed-off-by: Keith Busch <kbusch at kernel.org>
---
v1->v2:

  Set the quiet flag in the common initializer instead of open coding
  the flag for each path.

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

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 686c55cb5d1a..543782dcfba9 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -657,7 +657,7 @@ static inline void nvme_clear_nvme_request(struct request *req)
 	nvme_req(req)->status = 0;
 	nvme_req(req)->retries = 0;
 	nvme_req(req)->flags = 0;
-	req->rq_flags |= RQF_DONTPREP;
+	req->rq_flags |= RQF_DONTPREP | RQF_QUIET;
 }
 
 /* initialize a passthrough request */
@@ -1037,7 +1037,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 +1225,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);
 }
 
-- 
2.30.2




More information about the Linux-nvme mailing list