Booting from virtio-blk-pci on s390x is sometimes failing
## Host environment - Operating system: Fedora 42 - Architecture: x86 - QEMU flavor: qemu-system-s390x - QEMU version: v11.0-rc0 ## Emulated/Virtualized environment - Operating system: Linux - OS/kernel version: e.g. Fedora 32 - Architecture: s390x ## Description of problem Booting via virtio-blk-pci still seems to be a little bit flaky sometimes, depending on the disk image that I use, ca. 1 out of 50 boots (or 1 out of 1000 boots for other disk images) cannot load the kernel correctly. ## Steps to reproduce 1. wget https://github.com/huth/qemu-paddock/raw/refs/heads/main/s390x/f32-4k-bootmenu.raw.xz 2. unxz f32-4k-bootmenu.raw.xz 3. Run the following loop: ``` for ((x=0;x<100;x++)); do \ echo Run $x ... ; \ qemu-system-s390x -cpu qemu,zarch=off -blockdev \ driver=file,filename=f32-4k-bootmenu.raw,node-name=d1 \ -display none -serial stdio -device \ virtio-blk-pci,drive=d1,bootindex=1 > /tmp/bla.txt ; \ if ! grep -q Linux /tmp/bla.txt ; then \ echo "failed during run $x:" ; cat /tmp/bla.txt ; break; \ fi ; done ``` ## Additional information When it fails, I often see error messages like "qemu-system-s390x: Virtqueue size exceeded" on stderr. The s390-ccw bios only prints this to the serial console: ``` LOADPARM=[ ] Using virtio-blk. Using guessed DASD geometry. Using ECKD scheme (block size 4096), CDL VOLSER=[0X5100] ``` Looks like the kernel is not even started in this case (or dies before it prints the first message to the console).
issue