scsi: sd: Do not override max_sectors_kb sysfs setting
authorMartin K. Petersen <martin.petersen@oracle.com>
Thu, 28 Sep 2017 01:38:59 +0000 (21:38 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Oct 2017 09:27:33 +0000 (11:27 +0200)
commit9e78ac87626a92fdf71e519f71a76c6f6d4dfea3
treed274f7a8773e97fea9ea4e221dbe74ec953bb142
parentfc29713fa7c78fda30855444eeab2d5ea8088762
scsi: sd: Do not override max_sectors_kb sysfs setting

commit 77082ca503bed061f7fbda7cfd7c93beda967a41 upstream.

A user may lower the max_sectors_kb setting in sysfs to accommodate
certain workloads. Previously we would always set the max I/O size to
either the block layer default or the optional preferred I/O size
reported by the device.

Keep the current heuristics for the initial setting of max_sectors_kb.
For subsequent invocations, only update the current queue limit if it
exceeds the capabilities of the hardware.

Reported-by: Don Brace <don.brace@microsemi.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Tested-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/sd.c