RE: [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to reflect the values on the host

KY Srinivasan
2014-07-09T23:39:42Z

> -----Original Message-----
> From: driverdev-devel-bounces@linuxdriverproject.org [mailto:driverdev-
> devel-bounces@linuxdriverproject.org] On Behalf Of KY Srinivasan
> Sent: Wednesday, July 9, 2014 1:07 PM
> To: Christoph Hellwig
> Cc: linux-scsi@vger.kernel.org; jasowang@redhat.com; linux-
> kernel@vger.kernel.org; jbottomley@parallels.com; ohering@suse.com;
> stable@vger.kernel.org; apw@canonical.com; devel@linuxdriverproject.org
> Subject: RE: [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to reflect the
> values on the host
>
>
>
> > -----Original Message-----
> > From: Christoph Hellwig [mailto:hch@infradead.org]
> > Sent: Wednesday, July 9, 2014 1:40 AM
> > To: KY Srinivasan
> > Cc: linux-kernel@vger.kernel.org; devel@linuxdriverproject.org;
> > ohering@suse.com; jbottomley@parallels.com; jasowang@redhat.com;
> > apw@canonical.com; linux-scsi@vger.kernel.org; stable@vger.kernel.org
> > Subject: Re: [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to
> > reflect the values on the host
> >
> > On Tue, Jul 08, 2014 at 05:46:45PM -0700, K. Y. Srinivasan wrote:
> > > + * In Hyper-V, each port/path/target maps to 1 scsi host adapter.
> >
> > Does it still? The STORVSC_FC_MAX_TARGETS define suggests otherwise.
>
> I will fix the comments and get rid of unnecessary comments.
>
> >
> > > - .cmd_per_lun = 1,
> > > + .cmd_per_lun = 255,
> >
> > This looks like an unrelated change.
>
> I will have a separate patch for this.
> >
> > > + /* max # of devices per target */
> > > + host->max_lun = STORVSC_FC_MAX_LUNS_PER_TARGET;
> > > + /* max # of targets per channel */
> > > + host->max_id = STORVSC_FC_MAX_TARGETS;
> > > + /* max # of channels */
> > > + host->max_channel = STORVSC_FC_MAX_CHANNELS - 1;
> >
> > I don't think these comments add any value..
>
> I will get rid of the comments.
>
> >
> > Also any reason you use off by one defines for max_channel, but not
> > the others?
>
> No particular reason; I will clean this up.

On further examination max_channel is the maximum number of channels including channel 0. Thus the value set for
max_channel is correct. max_id appears to indicate the limit. In scsi_scan_channel the loop control is (id < max_id) and
hence the value I have here is correct. max_lun is also used like max_id to indicate the limit. In scsi_sequential_lun_scan()
the loop control is (lun < max_dev_lun) and hence I think the value I have here is fine.

Regards,

K. Y