summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2014-05-13 19:42:01 +0200
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2014-06-04 04:56:43 +0200
commit61e4ce086df0a64a555880089e3b782517c828c0 (patch)
treecb7cf2a338d9ac64e3a6c720a7c14308c281e636 /drivers/block
parentNVMe: Prevent possible NULL pointer dereference (diff)
downloadlinux-61e4ce086df0a64a555880089e3b782517c828c0.tar.xz
linux-61e4ce086df0a64a555880089e3b782517c828c0.zip
NVMe: Make iod bio timeout a parameter
This was originally set to 4 times the IO timeout, but that was when the IO timeout was 5 seconds instead of 30. 20 seconds for total time to failure seemed more reasonable than 2 minutes for most, but other users have requested to make this a module parameter instead. Signed-off-by: Keith Busch <keith.busch@intel.com> [renamed the module parameter to retry_time] [made retry_time static] Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/nvme-core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
index 872d8e42d008..1a911067061c 100644
--- a/drivers/block/nvme-core.c
+++ b/drivers/block/nvme-core.c
@@ -48,12 +48,16 @@
#define SQ_SIZE(depth) (depth * sizeof(struct nvme_command))
#define CQ_SIZE(depth) (depth * sizeof(struct nvme_completion))
#define ADMIN_TIMEOUT (60 * HZ)
-#define IOD_TIMEOUT (4 * NVME_IO_TIMEOUT)
+#define IOD_TIMEOUT (retry_time * HZ)
unsigned char io_timeout = 30;
module_param(io_timeout, byte, 0644);
MODULE_PARM_DESC(io_timeout, "timeout in seconds for I/O");
+static unsigned char retry_time = 30;
+module_param(retry_time, byte, 0644);
+MODULE_PARM_DESC(retry_time, "time in seconds to retry failed I/O");
+
static int nvme_major;
module_param(nvme_major, int, 0);