Ver código fonte

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>
Keith Busch 11 anos atrás
pai
commit
61e4ce086d
1 arquivos alterados com 5 adições e 1 exclusões
  1. 5 1
      drivers/block/nvme-core.c

+ 5 - 1
drivers/block/nvme-core.c

@@ -48,12 +48,16 @@
 #define SQ_SIZE(depth)		(depth * sizeof(struct nvme_command))
 #define SQ_SIZE(depth)		(depth * sizeof(struct nvme_command))
 #define CQ_SIZE(depth)		(depth * sizeof(struct nvme_completion))
 #define CQ_SIZE(depth)		(depth * sizeof(struct nvme_completion))
 #define ADMIN_TIMEOUT	(60 * HZ)
 #define ADMIN_TIMEOUT	(60 * HZ)
-#define IOD_TIMEOUT	(4 * NVME_IO_TIMEOUT)
+#define IOD_TIMEOUT	(retry_time * HZ)
 
 
 unsigned char io_timeout = 30;
 unsigned char io_timeout = 30;
 module_param(io_timeout, byte, 0644);
 module_param(io_timeout, byte, 0644);
 MODULE_PARM_DESC(io_timeout, "timeout in seconds for I/O");
 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;
 static int nvme_major;
 module_param(nvme_major, int, 0);
 module_param(nvme_major, int, 0);