linux/drivers/s390
Peter Oberparleiter 2cc9637ce8 s390/dasd: Fix capacity calculation for large volumes
The DASD driver incorrectly limits the maximum number of blocks of ECKD
DASD volumes to 32 bit numbers. Volumes with a capacity greater than
2^32-1 blocks are incorrectly recognized as smaller volumes.

This results in the following volume capacity limits depending on the
formatted block size:

  BLKSIZE  MAX_GB   MAX_CYL
      512    2047   5843492
     1024    4095   8676701
     2048    8191  13634816
     4096   16383  23860929

The same problem occurs when a volume with more than 17895697 cylinders
is accessed in raw-track-access mode.

Fix this problem by adding an explicit type cast when calculating the
maximum number of blocks.

Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2019-03-29 07:23:44 +01:00
..
block s390/dasd: Fix capacity calculation for large volumes 2019-03-29 07:23:44 +01:00
char s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
cio s390 update with improvements and bug fixes for 5.1-rc2 2019-03-28 08:35:32 -07:00
crypto zcrypt: handle AP Info notification from CHSC SEI command 2019-03-11 10:16:42 -07:00
net s390/qeth: be drop monitor friendly 2019-03-18 18:34:45 -07:00
scsi s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
virtio virtio-ccw: wire up ->bus_name callback 2019-03-06 11:19:56 -05:00
Makefile kbuild: rename built-in.o to built-in.a 2018-03-26 02:01:19 +09:00