Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1320178 > unrolled thread
| Started by | "K. Y. Srinivasan" <kys@microsoft.com> |
|---|---|
| First post | 2016-01-28 01:50 +0100 |
| Last post | 2016-01-28 09:30 +0100 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes "K. Y. Srinivasan" <kys@microsoft.com> - 2016-01-28 01:50 +0100
[PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup "K. Y. Srinivasan" <kys@microsoft.com> - 2016-01-28 01:50 +0100
Re: [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup Johannes Thumshirn <jthumshirn@suse.de> - 2016-01-28 09:40 +0100
[PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices "K. Y. Srinivasan" <kys@microsoft.com> - 2016-01-28 01:50 +0100
Re: [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices Johannes Thumshirn <jthumshirn@suse.de> - 2016-01-28 09:30 +0100
| From | "K. Y. Srinivasan" <kys@microsoft.com> |
|---|---|
| Date | 2016-01-28 01:50 +0100 |
| Subject | [PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes |
| Message-ID | <qVIWB-3zl-1@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | "K. Y. Srinivasan" <kys@microsoft.com> |
|---|---|
| Date | 2016-01-28 01:50 +0100 |
| Subject | [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup |
| Message-ID | <qVIWC-3zl-3@gated-at.bofh.it> |
| In reply to | #1320178 |
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
[toc] | [prev] | [next] | [standalone]
| From | Johannes Thumshirn <jthumshirn@suse.de> |
|---|---|
| Date | 2016-01-28 09:40 +0100 |
| Subject | Re: [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup |
| Message-ID | <qVQhs-Jf-11@gated-at.bofh.it> |
| In reply to | #1320179 |
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
[toc] | [prev] | [next] | [standalone]
| From | "K. Y. Srinivasan" <kys@microsoft.com> |
|---|---|
| Date | 2016-01-28 01:50 +0100 |
| Subject | [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices |
| Message-ID | <qVIWC-3zl-5@gated-at.bofh.it> |
| In reply to | #1320178 |
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
[toc] | [prev] | [next] | [standalone]
| From | Johannes Thumshirn <jthumshirn@suse.de> |
|---|---|
| Date | 2016-01-28 09:30 +0100 |
| Subject | Re: [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices |
| Message-ID | <qVQ7P-FX-63@gated-at.bofh.it> |
| In reply to | #1320181 |
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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web