[PATCH] Use the correct size to set block max sectors

From: Long Li
Date: Thu May 26 2016 - 18:28:20 EST


The block sector size should be in unit of 512 bytes, not in bytes.

Signed-off-by: Long Li <longli@xxxxxxxxxxxxx>

---
drivers/scsi/sd.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 428c03e..4bce17e 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2862,9 +2862,11 @@ static int sd_revalidate_disk(struct gendisk *disk)
if (sdkp->opt_xfer_blocks &&
sdkp->opt_xfer_blocks <= dev_max &&
sdkp->opt_xfer_blocks <= SD_DEF_XFER_BLOCKS &&
- sdkp->opt_xfer_blocks * sdp->sector_size >= PAGE_SIZE)
- rw_max = q->limits.io_opt =
+ sdkp->opt_xfer_blocks * sdp->sector_size >= PAGE_SIZE) {
+ q->limits.io_opt =
sdkp->opt_xfer_blocks * sdp->sector_size;
+ rw_max = (q->limits.io_opt >> 9);
+ }
else
rw_max = BLK_DEF_MAX_SECTORS;

--
1.8.5.6