pc-bios/s390-ccw/virtio-blkdev: Simplify/fix virtio_ipl_disk_is_valid()
commitbbf615f7b707f009ef8e757d170902ad33b90644
authorThomas Huth <thuth@redhat.com>
Mon, 4 Jul 2022 11:18:55 +0000 (4 13:18 +0200)
committerThomas Huth <thuth@redhat.com>
Wed, 6 Jul 2022 16:33:59 +0000 (6 18:33 +0200)
tree14439f120725f25eb97b3ff90dee547f758bc97a
parent422865f6672ee1482b98d18321b55c1ecfb06c82
pc-bios/s390-ccw/virtio-blkdev: Simplify/fix virtio_ipl_disk_is_valid()

The s390-ccw bios fails to boot if the boot disk is a virtio-blk
disk with a sector size of 4096. For example:

 dasdfmt -b 4096 -d cdl -y -p -M quick /dev/dasdX
 fdasd -a /dev/dasdX
 install a guest onto /dev/dasdX1 using virtio-blk
 qemu-system-s390x -nographic -hda /dev/dasdX1

The bios then bails out with:

 ! Cannot read block 0 !

Looking at virtio_ipl_disk_is_valid() and especially the function
virtio_disk_is_scsi(), it does not really make sense that we expect
only such a limited disk geometry (like a block size of 512) for
our boot disks. Let's relax the check and allow everything that
remotely looks like a sane disk.

Message-Id: <20220704111903.62400-5-thuth@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
pc-bios/s390-ccw/virtio-blkdev.c
pc-bios/s390-ccw/virtio.h