All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: "K. Y. Srinivasan" <kys@microsoft.com>,
	jasowang@redhat.com, apw@canonical.com,
	linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
	ohering@suse.com, jbottomley@parallels.com, hch@infradead.org,
	linux-scsi@vger.kernel.org
Cc: stable@vger.kernel.org
Subject: Re: [PATCH V3 1/7] Drivers: scsi: storvsc: Change the limits to reflect the values on the host
Date: Mon, 14 Jul 2014 08:15:17 +0200	[thread overview]
Message-ID: <53C37575.5030808@suse.de> (raw)
In-Reply-To: <1405183712-23967-1-git-send-email-kys@microsoft.com>

On 07/12/2014 06:48 PM, K. Y. Srinivasan wrote:
> Hyper-V hosts can support multiple targets and multiple channels and larger number of
> LUNs per target. Update the code to reflect this. With this patch we can correctly
> enumerate all the paths in a multi-path storage environment.
>
> In this version of the patch I have addressed comments from
> Christoph Hellwig <hch@infradead.org>
>
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> Cc: <stable@vger.kernel.org>
> ---
>   drivers/scsi/storvsc_drv.c |   47 +++++++++++++++++++++++++++++---------------
>   1 files changed, 31 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 9969fa1..8938b13 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -330,17 +330,17 @@ static int storvsc_timeout = 180;
>
>   static void storvsc_on_channel_callback(void *context);
>
> -/*
> - * In Hyper-V, each port/path/target maps to 1 scsi host adapter.  In
> - * reality, the path/target is not used (ie always set to 0) so our
> - * scsi host adapter essentially has 1 bus with 1 target that contains
> - * up to 256 luns.
> - */
> -#define STORVSC_MAX_LUNS_PER_TARGET			64
> -#define STORVSC_MAX_TARGETS				1
> -#define STORVSC_MAX_CHANNELS				1
> +#define STORVSC_MAX_LUNS_PER_TARGET			255
> +#define STORVSC_MAX_TARGETS				2
> +#define STORVSC_MAX_CHANNELS				8
>
> +#define STORVSC_FC_MAX_LUNS_PER_TARGET			255
> +#define STORVSC_FC_MAX_TARGETS				128
> +#define STORVSC_FC_MAX_CHANNELS				8
>
> +#define STORVSC_IDE_MAX_LUNS_PER_TARGET			64
> +#define STORVSC_IDE_MAX_TARGETS				1
> +#define STORVSC_IDE_MAX_CHANNELS			1
>
>   struct storvsc_cmd_request {
>   	struct list_head entry;
Limiting max_lun to 255 will make the driver to _not_ respond to 
LUNs higher than that; ie Well-known LUN won't work here.
Also the SCSI stack will be using REPORT LUNS anyway since you're 
advertising SPC-2 compliance. So your driver runs into issues if 
Hyper-V would ever return more than 256 LUNs with the REPORT LUN 
command or if any of the LUNs has an addressing scheme other than
'0x00'.
I would suggest to raise this to the technical limit (ie the largest 
LUN which the _protocol_ supports) and let REPORT LUNS deal with the 
actual LUNs.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

WARNING: multiple messages have this Message-ID (diff)
From: Hannes Reinecke <hare@suse.de>
To: "K. Y. Srinivasan" <kys@microsoft.com>,
	jasowang@redhat.com, apw@canonical.com,
	linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
	ohering@suse.com, jbottomley@parallels.com, hch@infradead.org,
	linux-scsi@vger.kernel.org
Cc: stable@vger.kernel.org
Subject: Re: [PATCH V3 1/7] Drivers: scsi: storvsc: Change the limits to reflect the values on the host
Date: Mon, 14 Jul 2014 08:15:17 +0200	[thread overview]
Message-ID: <53C37575.5030808@suse.de> (raw)
In-Reply-To: <1405183712-23967-1-git-send-email-kys@microsoft.com>

On 07/12/2014 06:48 PM, K. Y. Srinivasan wrote:
> Hyper-V hosts can support multiple targets and multiple channels and larger number of
> LUNs per target. Update the code to reflect this. With this patch we can correctly
> enumerate all the paths in a multi-path storage environment.
>
> In this version of the patch I have addressed comments from
> Christoph Hellwig <hch@infradead.org>
>
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> Cc: <stable@vger.kernel.org>
> ---
>   drivers/scsi/storvsc_drv.c |   47 +++++++++++++++++++++++++++++---------------
>   1 files changed, 31 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 9969fa1..8938b13 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -330,17 +330,17 @@ static int storvsc_timeout = 180;
>
>   static void storvsc_on_channel_callback(void *context);
>
> -/*
> - * In Hyper-V, each port/path/target maps to 1 scsi host adapter.  In
> - * reality, the path/target is not used (ie always set to 0) so our
> - * scsi host adapter essentially has 1 bus with 1 target that contains
> - * up to 256 luns.
> - */
> -#define STORVSC_MAX_LUNS_PER_TARGET			64
> -#define STORVSC_MAX_TARGETS				1
> -#define STORVSC_MAX_CHANNELS				1
> +#define STORVSC_MAX_LUNS_PER_TARGET			255
> +#define STORVSC_MAX_TARGETS				2
> +#define STORVSC_MAX_CHANNELS				8
>
> +#define STORVSC_FC_MAX_LUNS_PER_TARGET			255
> +#define STORVSC_FC_MAX_TARGETS				128
> +#define STORVSC_FC_MAX_CHANNELS				8
>
> +#define STORVSC_IDE_MAX_LUNS_PER_TARGET			64
> +#define STORVSC_IDE_MAX_TARGETS				1
> +#define STORVSC_IDE_MAX_CHANNELS			1
>
>   struct storvsc_cmd_request {
>   	struct list_head entry;
Limiting max_lun to 255 will make the driver to _not_ respond to 
LUNs higher than that; ie Well-known LUN won't work here.
Also the SCSI stack will be using REPORT LUNS anyway since you're 
advertising SPC-2 compliance. So your driver runs into issues if 
Hyper-V would ever return more than 256 LUNs with the REPORT LUN 
command or if any of the LUNs has an addressing scheme other than
'0x00'.
I would suggest to raise this to the technical limit (ie the largest 
LUN which the _protocol_ supports) and let REPORT LUNS deal with the 
actual LUNs.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N�rnberg
GF: J. Hawn, J. Guild, F. Imend�rffer, HRB 16746 (AG N�rnberg)

  parent reply	other threads:[~2014-07-14  6:15 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-12 16:48 [PATCH V3 0/7] Drivers: scsi: storvsc: Bug fixes and improvements K. Y. Srinivasan
2014-07-12 16:48 ` K. Y. Srinivasan
2014-07-12 16:48 ` [PATCH V3 1/7] Drivers: scsi: storvsc: Change the limits to reflect the values on the host K. Y. Srinivasan
2014-07-12 16:48   ` K. Y. Srinivasan
2014-07-12 16:48   ` [PATCH V3 2/7] Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:15     ` Hannes Reinecke
2014-07-14  6:15       ` Hannes Reinecke
2014-07-12 16:48   ` [PATCH V3 3/7] Drivers: scsi: storvsc: Filter commands based on the storage protocol version K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:16     ` Hannes Reinecke
2014-07-14  6:16       ` Hannes Reinecke
2014-07-12 16:48   ` [PATCH V3 4/7] Drivers: scsi: storvsc: Fix a bug in handling VMBUS " K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:16     ` Hannes Reinecke
2014-07-14  6:16       ` Hannes Reinecke
2014-07-12 16:48   ` [PATCH 5/7] Drivers: scsi: storvsc: Implement a timedout handler K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:16     ` Hannes Reinecke
2014-07-14  6:16       ` Hannes Reinecke
2014-07-12 16:48   ` [PATCH 6/7] drivers: scsi: storvsc: Set srb_flags in all cases K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:17     ` Hannes Reinecke
2014-07-14  6:17       ` Hannes Reinecke
2014-07-12 16:48   ` [PATCH 7/7] drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure K. Y. Srinivasan
2014-07-12 16:48     ` K. Y. Srinivasan
2014-07-14  6:17     ` Hannes Reinecke
2014-07-14  6:17       ` Hannes Reinecke
2014-07-14  6:15   ` Hannes Reinecke [this message]
2014-07-14  6:15     ` [PATCH V3 1/7] Drivers: scsi: storvsc: Change the limits to reflect the values on the host Hannes Reinecke
2014-07-14  8:30     ` Christoph Hellwig
2014-07-14  8:57       ` Hannes Reinecke
2014-07-14  8:57         ` Hannes Reinecke
2014-07-14  9:00         ` Christoph Hellwig
2014-07-14  9:01           ` Hannes Reinecke
2014-07-14  9:01             ` Hannes Reinecke
2014-07-16 17:26         ` KY Srinivasan
2014-07-16 17:26           ` KY Srinivasan
2014-07-16 17:26           ` KY Srinivasan
2014-07-16 17:28           ` Christoph Hellwig
2014-07-16 17:30             ` KY Srinivasan
2014-07-13  9:51 ` [PATCH V3 0/7] Drivers: scsi: storvsc: Bug fixes and improvements Christoph Hellwig
2014-07-13 18:37   ` KY Srinivasan
2014-07-13 18:37     ` KY Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53C37575.5030808@suse.de \
    --to=hare@suse.de \
    --cc=apw@canonical.com \
    --cc=devel@linuxdriverproject.org \
    --cc=hch@infradead.org \
    --cc=jasowang@redhat.com \
    --cc=jbottomley@parallels.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=ohering@suse.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.