> -----Original Message----- > From: devel [mailto:driverdev-devel-bounces@xxxxxxxxxxxxxxxxxxxxxx] On > Behalf Of K. Y. Srinivasan > Sent: Friday, May 29, 2015 1:29 PM > To: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; ohering@xxxxxxxx; jbottomley@xxxxxxxxxxxxx; > hch@xxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; apw@xxxxxxxxxxxxx; > vkuznets@xxxxxxxxxx; jasowang@xxxxxxxxxx > Cc: Keith Mange > Subject: [PATCH 1/6] scsi: storvsc: Rather than look for sets of specific protocol > versions, make decisions based on ranges. > > From: keith.mange@xxxxxxxxxxxxx <keith.mange@xxxxxxxxxxxxx> > > Rather than look for sets of specific protocol versions, make decisions based on > ranges. This will be safer and require fewer changes going forward as we add > more storage protocol versions. > Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> > Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> > Signed-off-by: Keith Mange <keith.mange@xxxxxxxxxxxxx> > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > --- > drivers/scsi/storvsc_drv.c | 11 +++-------- > 1 files changed, 3 insertions(+), 8 deletions(-) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index > 3c6584f..582f3b5 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -988,8 +988,7 @@ static int storvsc_channel_init(struct hv_device *device) > * support multi-channel. > */ > max_chns = vstor_packet- > >storage_channel_properties.max_channel_cnt; > - if ((vmbus_proto_version != VERSION_WIN7) && > - (vmbus_proto_version != VERSION_WS2008)) { > + if (vmbus_proto_version >= VERSION_WIN8) { > if (vstor_packet->storage_channel_properties.flags & > STORAGE_CHANNEL_SUPPORTS_MULTI_CHANNEL) > process_sub_channels = true; > @@ -1758,9 +1757,7 @@ static int storvsc_probe(struct hv_device *device, > * set state to properly communicate with the host. > */ > > - switch (vmbus_proto_version) { > - case VERSION_WS2008: > - case VERSION_WIN7: > + if (vmbus_proto_version < VERSION_WIN8) { > sense_buffer_size = PRE_WIN8_STORVSC_SENSE_BUFFER_SIZE; > vmscsi_size_delta = sizeof(struct vmscsi_win8_extension); > vmstor_current_major = VMSTOR_WIN7_MAJOR; @@ - > 1768,8 +1765,7 @@ static int storvsc_probe(struct hv_device *device, > max_luns_per_target = > STORVSC_IDE_MAX_LUNS_PER_TARGET; > max_targets = STORVSC_IDE_MAX_TARGETS; > max_channels = STORVSC_IDE_MAX_CHANNELS; > - break; > - default: > + } else { > sense_buffer_size = > POST_WIN7_STORVSC_SENSE_BUFFER_SIZE; > vmscsi_size_delta = 0; > vmstor_current_major = VMSTOR_WIN8_MAJOR; @@ - > 1783,7 +1779,6 @@ static int storvsc_probe(struct hv_device *device, > * VCPUs in the guest. > */ > max_sub_channels = (num_cpus / > storvsc_vcpus_per_sub_channel); > - break; > } > > scsi_driver.can_queue = (max_outstanding_req_per_channel * > -- > 1.7.4.1 > > _______________________________________________ > devel mailing list > devel@xxxxxxxxxxxxxxxxxxxxxx > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html