[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM2PR03MB4161F21137F469CD83A3800CEC90@DM2PR03MB416.namprd03.prod.outlook.com>
Date: Fri, 29 May 2015 20:38:15 +0000
From: Long Li <longli@...rosoft.com>
To: KY Srinivasan <kys@...rosoft.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"ohering@...e.com" <ohering@...e.com>,
"jbottomley@...allels.com" <jbottomley@...allels.com>,
"hch@...radead.org" <hch@...radead.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"apw@...onical.com" <apw@...onical.com>,
"vkuznets@...hat.com" <vkuznets@...hat.com>,
"jasowang@...hat.com" <jasowang@...hat.com>
CC: Keith Mange <Keith.Mange@...rosoft.com>
Subject: RE: [PATCH 4/6] scsi: storvsc: use correct defaults for values
determined by protocol negotiation
> -----Original Message-----
> From: devel [mailto:driverdev-devel-bounces@...uxdriverproject.org] On
> Behalf Of K. Y. Srinivasan
> Sent: Friday, May 29, 2015 1:29 PM
> To: gregkh@...uxfoundation.org; linux-kernel@...r.kernel.org;
> devel@...uxdriverproject.org; ohering@...e.com; jbottomley@...allels.com;
> hch@...radead.org; linux-scsi@...r.kernel.org; apw@...onical.com;
> vkuznets@...hat.com; jasowang@...hat.com
> Cc: Keith Mange
> Subject: [PATCH 4/6] scsi: storvsc: use correct defaults for values determined
> by protocol negotiation
>
> From: keith.mange@...rosoft.com <keith.mange@...rosoft.com>
>
> Use correct defaults for values determined by protocol negotiation, instead of
> resetting them with every scsi controller.
>
Reviewed-by: Long Li <longli@...rosoft.com>
> Tested-by: Alex Ng <alexng@...rosoft.com>
> Signed-off-by: Keith Mange <keith.mange@...rosoft.com>
> Signed-off-by: K. Y. Srinivasan <kys@...rosoft.com>
> ---
> drivers/scsi/storvsc_drv.c | 33 +++++++++++++++++++--------------
> 1 files changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index
> f29871e..6f38cdf 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -151,19 +151,17 @@ struct hv_fc_wwn_packet {
>
> /*
> * Sense buffer size changed in win8; have a run-time
> - * variable to track the size we should use.
> + * variable to track the size we should use. This value will
> + * likely change during protocol negotiation but it is valid
> + * to start by assuming pre-Win8.
> */
> -static int sense_buffer_size;
> +static int sense_buffer_size = PRE_WIN8_STORVSC_SENSE_BUFFER_SIZE;
>
> /*
> - * The size of the vmscsi_request has changed in win8. The
> - * additional size is because of new elements added to the
> - * structure. These elements are valid only when we are talking
> - * to a win8 host.
> - * Track the correction to size we need to apply.
> - */
> -
> -static int vmscsi_size_delta;
> + * The storage protocol version is determined during the
> + * initial exchange with the host. It will indicate which
> + * storage functionality is available in the host.
> +*/
> static int vmstor_proto_version;
>
> struct vmscsi_win8_extension {
> @@ -209,6 +207,17 @@ struct vmscsi_request {
>
>
> /*
> + * The size of the vmscsi_request has changed in win8. The
> + * additional size is because of new elements added to the
> + * structure. These elements are valid only when we are talking
> + * to a win8 host.
> + * Track the correction to size we need to apply. This value
> + * will likely change during protocol negotiation but it is
> + * valid to start by assuming pre-Win8.
> + */
> +static int vmscsi_size_delta = sizeof(struct vmscsi_win8_extension);
> +
> +/*
> * The list of storage protocols in order of preference.
> */
> struct vmstor_protocol {
> @@ -1810,14 +1819,10 @@ static int storvsc_probe(struct hv_device *device,
> */
>
> if (vmbus_proto_version < VERSION_WIN8) {
> - sense_buffer_size = PRE_WIN8_STORVSC_SENSE_BUFFER_SIZE;
> - vmscsi_size_delta = sizeof(struct vmscsi_win8_extension);
> max_luns_per_target =
> STORVSC_IDE_MAX_LUNS_PER_TARGET;
> max_targets = STORVSC_IDE_MAX_TARGETS;
> max_channels = STORVSC_IDE_MAX_CHANNELS;
> } else {
> - sense_buffer_size =
> POST_WIN7_STORVSC_SENSE_BUFFER_SIZE;
> - vmscsi_size_delta = 0;
> max_luns_per_target = STORVSC_MAX_LUNS_PER_TARGET;
> max_targets = STORVSC_MAX_TARGETS;
> max_channels = STORVSC_MAX_CHANNELS;
> --
> 1.7.4.1
>
> _______________________________________________
> devel mailing list
> devel@...uxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists