nvme: mark internal passthru request RQF_QUIET
authorChaitanya Kulkarni <kch@nvidia.com>
Tue, 19 Apr 2022 22:53:51 +0000 (15:53 -0700)
committerChristoph Hellwig <hch@lst.de>
Mon, 16 May 2022 06:06:59 +0000 (08:06 +0200)
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>
Reviewed-by: Alan Adamson <alan.adamson@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/core.c
drivers/nvme/host/pci.c

index 9a6fb07..42f9772 100644 (file)
@@ -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);
 }
 
index 3aacf1c..f326261 100644 (file)
@@ -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;