diff options
author | David Milburn <dmilburn@redhat.com> | 2015-07-13 11:48:23 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2015-07-15 11:47:24 -0400 |
commit | af34d637637eabaf49406eb35c948cd51ba262a6 (patch) | |
tree | 4dcfd80cdc49c3aa9fc9510e3edd93b97265be2a /include/linux/ata.h | |
parent | cda57b1b05cf7b8b99ab4b732bea0b05b6c015cc (diff) | |
download | linux-stable-af34d637637eabaf49406eb35c948cd51ba262a6.tar.gz linux-stable-af34d637637eabaf49406eb35c948cd51ba262a6.tar.bz2 linux-stable-af34d637637eabaf49406eb35c948cd51ba262a6.zip |
libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
Since no longer limiting max_sectors to BLK_DEF_MAX_SECTORS (commit 34b48db66e08),
data corruption may occur on ST380013AS drive configured on 82801JI (ICH10 Family)
SATA controller. This patch will allow the driver to limit max_sectors as before
# cat /sys/block/sdb/queue/max_sectors_kb
512
I was able to double the max_sectors_kb value up to 16384 on linux-4.2.0-rc2
before seeing corruption, but seems safer to use previous limit. Without this
patch max_sectors_kb will be 32767.
tj: Minor comment update.
Reported-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org # v3.19 and later
Fixes: 34b48db66e08 ("block: remove artifical max_hw_sectors cap")
Diffstat (limited to 'include/linux/ata.h')
-rw-r--r-- | include/linux/ata.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index fed36418dd1c..6c78956aa470 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -45,6 +45,7 @@ enum { ATA_SECT_SIZE = 512, ATA_MAX_SECTORS_128 = 128, ATA_MAX_SECTORS = 256, + ATA_MAX_SECTORS_1024 = 1024, ATA_MAX_SECTORS_LBA48 = 65535,/* TODO: 65536? */ ATA_MAX_SECTORS_TAPE = 65535, |