Re: [PATCH v2] sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable

From: Fam Zheng
Date: Thu Mar 30 2017 - 00:13:19 EST


On Wed, 03/29 22:37, Martin K. Petersen wrote:
> Fam Zheng <famz@xxxxxxxxxx> writes:
>
> Fam,
>
> > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> > index fcfeddc..a5c7e67 100644
> > --- a/drivers/scsi/sd.c
> > +++ b/drivers/scsi/sd.c
> > @@ -2957,6 +2957,7 @@ static int sd_revalidate_disk(struct gendisk *disk)
> > rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks);
> > } else
> > rw_max = BLK_DEF_MAX_SECTORS;
> > + rw_max = min_not_zero(rw_max, logical_to_sectors(sdp, dev_max));
> >
> > /* Combine with controller limits */
> > q->limits.max_sectors = min(rw_max, queue_max_hw_sectors(q));
>
> Instead of updating rw_max twice, how about:
>
> } else
> rw_max = min_not_zero(logical_to_sectors(sdp, dev_max),
> BLK_DEF_MAX_SECTORS);

Yes, it is better. Is it okay to make the change when you apply?

Fam