]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sd: Fix excessive capacity printing on devices with blocks bigger than 512 bytes
authorMartin K. Petersen <martin.petersen@oracle.com>
Tue, 29 Mar 2016 01:18:56 +0000 (21:18 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Sat, 16 Jul 2016 06:41:59 +0000 (23:41 -0700)
commit10aabc451dcc3cfa267ad16908167c9b82f822e2
tree64344450f1bb466725ceb314f1d939f5276d5b15
parentbbe8f26770a95b2aacda6d1133ac456c07d39fd7
sd: Fix excessive capacity printing on devices with blocks bigger than 512 bytes

Orabug: 23615929

(commit f08bb1e0dbdd0297258d0b8cd4dbfcc057e57b2a of upstream)
During revalidate we check whether device capacity has changed before we
decide whether to output disk information or not.

The check for old capacity failed to take into account that we scaled
sdkp->capacity based on the reported logical block size. And therefore
the capacity test would always fail for devices with sectors bigger than
512 bytes and we would print several copies of the same discovery
information.

Avoid scaling sdkp->capacity and instead adjust the value on the fly
when setting the block device capacity and generating fake C/H/S
geometry.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: <stable@vger.kernel.org>
Reported-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Reviewed-by: Ewan Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/scsi/sd.c
drivers/scsi/sd.h