[PATCH V4 2/7] nvme-core: use I/O timeout in nvme_submit_user_cmd
Chaitanya Kulkarni
chaitanya.kulkarni at wdc.com
Tue Oct 6 19:30:44 EDT 2020
In the function nvme_submit_user_cmd() it uses ADMIN_TIMEOUT when
caller doesn't specify value for the timeout variable. This function is
also called from the user I/O command contexts (nvme_submit_io,
nvme_user_cmd_XXX) where NVME_IO_TIMEOUT can be used instead of
ADMIN_TIMEOUT.
For now we don't set the request queue's queuedata for admin command.
Use newly introduced helper function nvme_default_timeout() to set the
block layer request timeout value.
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>
---
drivers/nvme/host/core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 49662e2190d5..f97003e54db8 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1068,7 +1068,9 @@ static int nvme_submit_user_cmd(struct request_queue *q,
if (IS_ERR(req))
return PTR_ERR(req);
- req->timeout = timeout ? timeout : ADMIN_TIMEOUT;
+ if (!req->timeout)
+ nvme_req_set_default_timeout(req);
+
nvme_req(req)->flags |= NVME_REQ_USERCMD;
if (ubuffer && bufflen) {
--
2.22.1
More information about the Linux-nvme
mailing list