Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1320178 > unrolled thread

[PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes

Started by"K. Y. Srinivasan" <kys@microsoft.com>
First post2016-01-28 01:50 +0100
Last post2016-01-28 09:30 +0100
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [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

#1320178 — [PATCH V2 0/2] scsi: storvsc: Miscellaneous fixes

From"K. Y. Srinivasan" <kys@microsoft.com>
Date2016-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]


#1320179 — [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup

From"K. Y. Srinivasan" <kys@microsoft.com>
Date2016-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]


#1320415 — Re: [PATCH V2 2/2] scsi: storvsc: Use the specified target ID in device lookup

FromJohannes Thumshirn <jthumshirn@suse.de>
Date2016-01-28 09:40 +0100
SubjectRe: [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]


#1320181 — [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices

From"K. Y. Srinivasan" <kys@microsoft.com>
Date2016-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]


#1320409 — Re: [PATCH V2 1/2] scsi: storvsc: Install the storvsc specific timeout handler for FC devices

FromJohannes Thumshirn <jthumshirn@suse.de>
Date2016-01-28 09:30 +0100
SubjectRe: [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