]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dasd: use correct label location for diag fba disks
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>
Mon, 19 Jul 2010 07:22:35 +0000 (09:22 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 27 Sep 2010 00:21:36 +0000 (17:21 -0700)
commita4693e59fcd9b4a1461ba9988f85421d6542914e
treee82595b010fea4809aabc92f4d47bc80ae978fd7
parente665d4c5a0857d7a8e9d8d00dcdbcd81b320013a
dasd: use correct label location for diag fba disks

commit cffab6bc5511cd6f67a60bf16b62de4267b68c4c upstream.

Partition boundary calculation fails for DASD FBA disks under the
following conditions:
- disk is formatted with CMS FORMAT with a blocksize of more than
  512 bytes
- all of the disk is reserved to a single CMS file using CMS RESERVE
- the disk is accessed using the DIAG mode of the DASD driver

Under these circumstances, the partition detection code tries to
read the CMS label block containing partition-relevant information
from logical block offset 1, while it is in fact located at physical
block offset 1.

Fix this problem by using the correct CMS label block location
depending on the device type as determined by the DASD SENSE ID
information.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
[bwh: Adjust for 2.6.32]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/partitions/ibm.c