On Mon, 2013-06-03 at 16:21 -0700, K. Y. Srinivasan wrote: > The standard scsi timeout is not appropriate in some of the environments where > Hyper-V is deployed. Set this timeout appropriately for all devices managed > by this driver. Further make this a module parameter. > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > --- > drivers/scsi/storvsc_drv.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > index 16a3a0c..8d29a95 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -221,6 +221,13 @@ static int storvsc_ringbuffer_size = (20 * PAGE_SIZE); > module_param(storvsc_ringbuffer_size, int, S_IRUGO); > MODULE_PARM_DESC(storvsc_ringbuffer_size, "Ring buffer size (bytes)"); > > +/* > + * Timeout in seconds for all devices managed by this driver. > + */ > +static int storvsc_timeout = 180; > +module_param(storvsc_timeout, uint, (S_IRUGO | S_IWUSR)); > +MODULE_PARM_DESC(storvsc_timeout, "Device timeout (seconds)"); > + > #define STORVSC_MAX_IO_REQUESTS 128 > > /* > @@ -1204,6 +1211,8 @@ static int storvsc_device_configure(struct scsi_device *sdevice) > > blk_queue_bounce_limit(sdevice->request_queue, BLK_BOUNCE_ANY); > > + blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ)); Why does this need to be a module parameter? It's already a sysfs one in the scsi_device class? Three minutes is also a bit large. The default is 30s with huge cache arrays recommending upping this to 60s ... you're three times this. James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html