From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757201AbbE2Ui0 (ORCPT ); Fri, 29 May 2015 16:38:26 -0400 Received: from mail-bn1bbn0105.outbound.protection.outlook.com ([157.56.111.105]:20730 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751139AbbE2UiR convert rfc822-to-8bit (ORCPT ); Fri, 29 May 2015 16:38:17 -0400 From: Long Li To: KY Srinivasan , "gregkh@linuxfoundation.org" , "linux-kernel@vger.kernel.org" , "devel@linuxdriverproject.org" , "ohering@suse.com" , "jbottomley@parallels.com" , "hch@infradead.org" , "linux-scsi@vger.kernel.org" , "apw@canonical.com" , "vkuznets@redhat.com" , "jasowang@redhat.com" CC: Keith Mange Subject: RE: [PATCH 4/6] scsi: storvsc: use correct defaults for values determined by protocol negotiation Thread-Topic: [PATCH 4/6] scsi: storvsc: use correct defaults for values determined by protocol negotiation Thread-Index: AQHQmkLdzQ+at0QTt0CNsLP1vvOEdp2Taipw Date: Fri, 29 May 2015 20:38:15 +0000 Message-ID: References: <1432931336-14434-1-git-send-email-kys@microsoft.com> <1432931359-14473-1-git-send-email-kys@microsoft.com> <1432931359-14473-4-git-send-email-kys@microsoft.com> In-Reply-To: <1432931359-14473-4-git-send-email-kys@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=longli@microsoft.com; x-originating-ip: [2001:4898:80e0:ee43::2] x-microsoft-exchange-diagnostics: 1;DM2PR03MB478;3:V/jJq7g1mevspoGG37W4P4htrD93dljazxag7ZBL9QN1ztJtU8AGgUlT77w581xaDVeYDlJj0FuKUuNFIryhPivLmtkeFy/oeRVQjiQERzaATklaloLf8w1PVlXFwL/8PgTIYGTky6K7qb03QhfAPg==;10:wVU3QyoYrLdgdm+phDjcFwGlVtuA9v77jVDOb4yrqB12GR+o6UWddonZDn0gu2+G506dv//MoEcYIJnqwydVksR0Sy2Vg/wSgRQ8K5IpgZQ=;6:GactD8h6tY+Vu9Ma/9jpsJIWNTgR3InHSYvTmkOUdNmAh7aRHNjnQ7+7puwjL9f0 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB478; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401001)(5005006)(520003)(3002001);SRVR:DM2PR03MB478;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB478; x-forefront-prvs: 059185FE08 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(377454003)(51704005)(189002)(13464003)(87936001)(101416001)(33656002)(92566002)(1511001)(64706001)(2201001)(5001960100002)(76576001)(107886002)(2656002)(86362001)(105586002)(99286002)(189998001)(106356001)(106116001)(77156002)(50986999)(2501003)(62966003)(74316001)(76176999)(54356999)(86612001)(19580405001)(19580395003)(2421001)(1720100001)(2900100001)(122556002)(40100003)(81156007)(4001540100001)(5001770100001)(97736004)(5001920100001)(5002640100001)(102836002)(2950100001)(46102003)(5001830100001)(77096005)(5001860100001)(68736005)(15975445007)(2561002)(921003)(3826002)(4001430100001)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR03MB478;H:DM2PR03MB416.namprd03.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2015 20:38:15.5850 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB478 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: devel [mailto:driverdev-devel-bounces@linuxdriverproject.org] On > Behalf Of K. Y. Srinivasan > Sent: Friday, May 29, 2015 1:29 PM > To: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; ohering@suse.com; jbottomley@parallels.com; > hch@infradead.org; linux-scsi@vger.kernel.org; apw@canonical.com; > vkuznets@redhat.com; jasowang@redhat.com > Cc: Keith Mange > Subject: [PATCH 4/6] scsi: storvsc: use correct defaults for values determined > by protocol negotiation > > From: keith.mange@microsoft.com > > Use correct defaults for values determined by protocol negotiation, instead of > resetting them with every scsi controller. > Reviewed-by: Long Li > Tested-by: Alex Ng > Signed-off-by: Keith Mange > Signed-off-by: K. Y. Srinivasan > --- > 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@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel