* [PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes
@ 2016-01-28 2:22 K. Y. Srinivasan
2016-01-28 2:22 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices K. Y. Srinivasan
0 siblings, 1 reply; 5+ messages in thread
From: K. Y. Srinivasan @ 2016-01-28 2:22 UTC (permalink / raw)
To: gregkh, linux-kernel, devel, ohering, jbottomley, hch, linux-scsi,
apw, vkuznets, jasowang, martin.petersen, hare
Some miscellaneous fixes.
V2: addressed comments from Hannes Reinecke <hare@suse.de>
K. Y. Srinivasan (2):
scsi: storvsc: Install the storvsc specific timeout handler for FC
devices
scsi: storvsc: Use the specified target ID in device lookup
drivers/scsi/storvsc_drv.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
--
1.7.4.1
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices 2016-01-28 2:22 [PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes K. Y. Srinivasan @ 2016-01-28 2:22 ` K. Y. Srinivasan 2016-01-28 2:22 ` [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup K. Y. Srinivasan 2016-01-28 8:28 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices Johannes Thumshirn 0 siblings, 2 replies; 5+ messages in thread From: K. Y. Srinivasan @ 2016-01-28 2:22 UTC (permalink / raw) To: gregkh, linux-kernel, devel, ohering, jbottomley, hch, linux-scsi, apw, vkuznets, jasowang, martin.petersen, hare 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> --- drivers/scsi/storvsc_drv.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 41c115c..622f64a 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -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); -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup 2016-01-28 2:22 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices K. Y. Srinivasan @ 2016-01-28 2:22 ` K. Y. Srinivasan 2016-01-28 8:29 ` Johannes Thumshirn 2016-01-28 8:28 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices Johannes Thumshirn 1 sibling, 1 reply; 5+ messages in thread From: K. Y. Srinivasan @ 2016-01-28 2:22 UTC (permalink / raw) To: gregkh, linux-kernel, devel, ohering, jbottomley, hch, linux-scsi, apw, vkuznets, jasowang, martin.petersen, hare The current code assumes that there is only one target in device lookup. Fix this bug. This will alow us to correctly handle hot reomoval of LUNs. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Alex Ng <alexng@microsoft.com> Tested-by: Vivek Yadav <vyadav@microsoft.com> --- V2: Made lun and target_id unsigned 8 bit entities - Hannes Reinecke <hare@suse.de> drivers/scsi/storvsc_drv.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 622f64a..132b168 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -478,19 +478,18 @@ struct hv_host_device { struct storvsc_scan_work { struct work_struct work; struct Scsi_Host *host; - uint lun; + u8 lun; + u8 tgt_id; }; static void storvsc_device_scan(struct work_struct *work) { struct storvsc_scan_work *wrk; - uint lun; struct scsi_device *sdev; wrk = container_of(work, struct storvsc_scan_work, work); - lun = wrk->lun; - sdev = scsi_device_lookup(wrk->host, 0, 0, lun); + sdev = scsi_device_lookup(wrk->host, 0, wrk->tgt_id, wrk->lun); if (!sdev) goto done; scsi_rescan_device(&sdev->sdev_gendev); @@ -541,7 +540,7 @@ static void storvsc_remove_lun(struct work_struct *work) if (!scsi_host_get(wrk->host)) goto done; - sdev = scsi_device_lookup(wrk->host, 0, 0, wrk->lun); + sdev = scsi_device_lookup(wrk->host, 0, wrk->tgt_id, wrk->lun); if (sdev) { scsi_remove_device(sdev); @@ -941,6 +940,7 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb, wrk->host = host; wrk->lun = vm_srb->lun; + wrk->tgt_id = vm_srb->target_id; INIT_WORK(&wrk->work, process_err_fn); schedule_work(&wrk->work); } -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup 2016-01-28 2:22 ` [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup K. Y. Srinivasan @ 2016-01-28 8:29 ` Johannes Thumshirn 0 siblings, 0 replies; 5+ messages in thread From: Johannes Thumshirn @ 2016-01-28 8:29 UTC (permalink / raw) To: K. Y. Srinivasan Cc: gregkh, linux-kernel, devel, ohering, jbottomley, hch, linux-scsi, apw, vkuznets, jasowang, martin.petersen, hare On Wed, Jan 27, 2016 at 06:22:45PM -0800, K. Y. Srinivasan wrote: > The current code assumes that there is only one target in device lookup. > Fix this bug. This will alow us to correctly handle hot reomoval of LUNs. > > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> > Reviewed-by: Alex Ng <alexng@microsoft.com> > Tested-by: Vivek Yadav <vyadav@microsoft.com> > --- > V2: Made lun and target_id unsigned 8 bit entities - Hannes Reinecke <hare@suse.de> > > drivers/scsi/storvsc_drv.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > index 622f64a..132b168 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -478,19 +478,18 @@ struct hv_host_device { > struct storvsc_scan_work { > struct work_struct work; > struct Scsi_Host *host; > - uint lun; > + u8 lun; > + u8 tgt_id; > }; > > static void storvsc_device_scan(struct work_struct *work) > { > struct storvsc_scan_work *wrk; > - uint lun; > struct scsi_device *sdev; > > wrk = container_of(work, struct storvsc_scan_work, work); > - lun = wrk->lun; > > - sdev = scsi_device_lookup(wrk->host, 0, 0, lun); > + sdev = scsi_device_lookup(wrk->host, 0, wrk->tgt_id, wrk->lun); > if (!sdev) > goto done; > scsi_rescan_device(&sdev->sdev_gendev); > @@ -541,7 +540,7 @@ static void storvsc_remove_lun(struct work_struct *work) > if (!scsi_host_get(wrk->host)) > goto done; > > - sdev = scsi_device_lookup(wrk->host, 0, 0, wrk->lun); > + sdev = scsi_device_lookup(wrk->host, 0, wrk->tgt_id, wrk->lun); > > if (sdev) { > scsi_remove_device(sdev); > @@ -941,6 +940,7 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb, > > wrk->host = host; > wrk->lun = vm_srb->lun; > + wrk->tgt_id = vm_srb->target_id; > INIT_WORK(&wrk->work, process_err_fn); > schedule_work(&wrk->work); > } > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices 2016-01-28 2:22 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices K. Y. Srinivasan 2016-01-28 2:22 ` [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup K. Y. Srinivasan @ 2016-01-28 8:28 ` Johannes Thumshirn 1 sibling, 0 replies; 5+ messages in thread From: Johannes Thumshirn @ 2016-01-28 8:28 UTC (permalink / raw) To: K. Y. Srinivasan Cc: martin.petersen, linux-scsi, gregkh, jasowang, ohering, jbottomley, linux-kernel, hch, hare, apw, devel On Wed, Jan 27, 2016 at 06:22:44PM -0800, K. Y. Srinivasan wrote: > 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> > --- > drivers/scsi/storvsc_drv.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > index 41c115c..622f64a 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -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); > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-01-28 8:29 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-28 2:22 [PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes K. Y. Srinivasan 2016-01-28 2:22 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices K. Y. Srinivasan 2016-01-28 2:22 ` [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup K. Y. Srinivasan 2016-01-28 8:29 ` Johannes Thumshirn 2016-01-28 8:28 ` [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices Johannes Thumshirn
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).