Hide Forgot
Description of problem: QEMU should give correctly error message prompt if specify wrong physical_block_size/logical_block_size value, e.g: it's not a power of 2; minimum: xxx, maximum: xxxxx; expected: integer. BTW, according to bug 889135#c6, this issue is not backport the fix from upstream for RHEL 6.5 completely. Version-Release number of selected component (if applicable): host info: 2.6.32-424.el6.x86_64 qemu-kvm-0.12.1.2-2.414.el6.x86_64 seabios-0.6.1.2-28.el6.x86_64 guest info: 2.6.32-424.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1.boot guest specified a smaller or larger physical_block_size/logical_block_size value. e.g1:...-drive file=/home/test.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial="QEMU-DISK-sluo" -device virtio-scsi-pci,vectors=0,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=100,logical_block_size=100 qemu-kvm: -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=100,logical_block_size=100: Property 'scsi-hd.physical_block_size' doesn't take value '100' e.g2:...-drive file=/home/test.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial="QEMU-DISK-sluo" -device virtio-scsi-pci,vectors=0,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=10000,logical_block_size=10000 qemu-kvm: -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=10000,logical_block_size=10000: Property 'scsi-hd.physical_block_size' doesn't take value '10000' 2.boot guest specified none integer physical_block_size/logical_block_size value. e.g3:...-drive file=/home/test.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial="QEMU-DISK-sluo" -device virtio-scsi-pci,vectors=0,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=aaa,logical_block_size=aaa qemu-kvm: -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=aaa,logical_block_size=aaa: Property 'scsi-hd.physical_block_size' doesn't take value 'aaa' 3.boot guest specified a not a power of 2 for physical_block_size/logical_block_size value. e.g4:...-drive file=/home/test.raw,if=none,id=drive-data-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,serial="QEMU-DISK-sluo" -device virtio-scsi-pci,vectors=0,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=500,logical_block_size=500 qemu-kvm: -device scsi-hd,drive=drive-data-disk,id=data-disk,bootindex=2,bus=scsi0.0,lun=0,physical_block_size=500,logical_block_size=500: Property 'scsi-hd.physical_block_size' doesn't take value '500' Actual results: Expected results: QEMU should give correctly error message prompt if specify wrong physical_block_size/logical_block_size value, e.g: it's not a power of 2; minimum: xxx, maximum: xxxxx; expected: integer. Additional info: Also tried rhel7 host that did not hit such issue. e.g1:...-drive file=/home/test.raw,if=none,id=drive-disk -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=500,logical_block_size=500 -monitor stdio QEMU 1.5.3 monitor - type 'help' for more information (qemu) qemu-kvm: -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=500,logical_block_size=500: Property iscsi-disk.physical_block_size doesn't take value 500 (minimum: 512, maximum: 32768) e.g2:...-drive file=/home/test.raw,if=none,id=drive-disk -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=1000,logical_block_size=1000 -monitor stdio QEMU 1.5.3 monitor - type 'help' for more information (qemu) qemu-kvm: -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=1000,logical_block_size=1000: Property iscsi-disk.physical_block_size doesn't take value '1000', it's not a power of 2 e.g3:...-drive file=/home/test.raw,if=none,id=drive-disk -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=aaa,logical_block_size=aaa -monitor stdio QEMU 1.5.3 monitor - type 'help' for more information (qemu) qemu-kvm: -device scsi-hd,drive=drive-disk,bus=scsi1.0,id=iscsi-disk,physical_block_size=aaa,logical_block_size=aaa: Invalid parameter type for 'physical_block_size', expected: integer
All the ide, virtio_blk and virtio-scsi interface can hit such issue in rhel6.5 host.