storvsc: Install the storvsc specific timeout handler for FC devices
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 28 Jan 2016 02:22:44 +0000 (18:22 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 29 Jan 2016 03:25:36 +0000 (22:25 -0500)
The default timeout routine used for FC transport is not suitable for FC
devices managed by storvsc since FC devices managed by storvsc driver do
not have an rport associated with them. Use the time out handler used
for SCSI devices for FC devices as well.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Alex Ng <alexng@microsoft.com>
Tested-by: Vivek Yadav <vyadav@microsoft.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/storvsc_drv.c

index 41c115c230d9bf66da94693597967d037fdefaf6..622f64a98a9e7f64e445579801b26f7b521d5fa9 100644 (file)
@@ -42,6 +42,7 @@
 #include <scsi/scsi_devinfo.h>
 #include <scsi/scsi_dbg.h>
 #include <scsi/scsi_transport_fc.h>
+#include <scsi/scsi_transport.h>
 
 /*
  * All wire protocol details (storage protocol between the guest and the host)
@@ -1770,6 +1771,11 @@ static int __init storvsc_drv_init(void)
        fc_transport_template = fc_attach_transport(&fc_transport_functions);
        if (!fc_transport_template)
                return -ENODEV;
+
+       /*
+        * Install Hyper-V specific timeout handler.
+        */
+       fc_transport_template->eh_timed_out = storvsc_eh_timed_out;
 #endif
 
        ret = vmbus_driver_register(&storvsc_drv);