[PATCH RESEND V2 3/7] scsi: storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation.

Johannes Thumshirn jthumshirn at suse.de
Fri Aug 14 06:45:57 UTC 2015


KY Srinivasan <kys at microsoft.com> writes:

>> -----Original Message-----
>> From: Johannes Thumshirn [mailto:jthumshirn at suse.de]
>> Sent: Thursday, August 13, 2015 7:34 AM
>> To: KY Srinivasan <kys at microsoft.com>; Keith Mange
>> <Keith.Mange at microsoft.com>
>> Cc: gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;
>> devel at linuxdriverproject.org; ohering at suse.com;
>> jbottomley at parallels.com; hch at infradead.org; linux-scsi at vger.kernel.org;
>> apw at canonical.com; vkuznets at redhat.com; jasowang at redhat.com
>> Subject: Re: [PATCH RESEND V2 3/7] scsi: storvsc: Untangle the storage
>> protocol negotiation from the vmbus protocol negotiation.
>> 
>> "K. Y. Srinivasan" <kys at microsoft.com> writes:
>> 
>> > From: Keith Mange <keith.mange at microsoft.com>
>> >
>> > Currently we are making decisions based on vmbus protocol versions
>> > that have been negotiated; use storage potocol versions instead.
>> >
>> > Tested-by: Alex Ng <alexng at microsoft.com>
>> > Signed-off-by: Keith Mange <keith.mange at microsoft.com>
>> > Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
>> > ---
>> >  drivers/scsi/storvsc_drv.c |  109
>> +++++++++++++++++++++++++++++++++++---------
>> >  1 files changed, 87 insertions(+), 22 deletions(-)
>> >
>> > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
>> > index 5f9d133..f29871e 100644
>> > --- a/drivers/scsi/storvsc_drv.c
>> > +++ b/drivers/scsi/storvsc_drv.c
>> > @@ -56,14 +56,18 @@
>> >   * V1 RC > 2008/1/31:  2.0
>> >   * Win7: 4.2
>> >   * Win8: 5.1
>> > + * Win8.1: 6.0
>> > + * Win10: 6.2
>> >   */
>> >
>> >  #define VMSTOR_PROTO_VERSION(MAJOR_, MINOR_)	((((MAJOR_)
>> & 0xff) << 8) | \
>> >  						(((MINOR_) & 0xff)))
>> >
>> > +#define VMSTOR_PROTO_VERSION_WIN6
>> 	VMSTOR_PROTO_VERSION(2, 0)
>> >  #define VMSTOR_PROTO_VERSION_WIN7
>> 	VMSTOR_PROTO_VERSION(4, 2)
>> >  #define VMSTOR_PROTO_VERSION_WIN8
>> 	VMSTOR_PROTO_VERSION(5, 1)
>> > -
>> > +#define VMSTOR_PROTO_VERSION_WIN8_1
>> 	VMSTOR_PROTO_VERSION(6, 0)
>> > +#define VMSTOR_PROTO_VERSION_WIN10
>> 	VMSTOR_PROTO_VERSION(6, 2)
>> >
>> >  /*  Packet structure describing virtual storage requests. */
>> >  enum vstor_packet_operation {
>> > @@ -205,6 +209,46 @@ struct vmscsi_request {
>> >
>> >
>> >  /*
>> > + * The list of storage protocols in order of preference.
>> > + */
>> > +struct vmstor_protocol {
>> > +	int protocol_version;
>> > +	int sense_buffer_size;
>> > +	int vmscsi_size_delta;
>> > +};
>> > +
>> > +#define VMSTOR_NUM_PROTOCOLS    5
>> 
>> can't you just use ARRAY_SIZE() here, so you don't have to touch the
>> constant every time a new protocol is appended to the list?
>
> Certainly. These patches have been floating around for more than a month now and if it is ok
> with you, I will submit a patch on top of this current series to address the concern you have raised.
> James, please let me know.
>

No objections from my side, but it's up to James to decide what and when
he picks up patches.

Thanks,
        Johannes

-- 
Johannes Thumshirn                                           Storage
jthumshirn at 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


More information about the devel mailing list