Bug 1021114 - QEMU should give error message prompt if specify wrong physical_block_size/logical_block_size value
Summary: QEMU should give error message prompt if specify wrong physical_block_size/lo...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.5
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: John Snow
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-19 14:46 UTC by Sibiao Luo
Modified: 2014-07-04 14:37 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-04 14:37:45 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Sibiao Luo 2013-10-19 14:46:23 UTC
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

Comment 1 Sibiao Luo 2013-10-19 14:48:04 UTC
All the ide, virtio_blk and virtio-scsi interface can hit such issue in rhel6.5 host.


Note You need to log in before you can comment on or make changes to this bug.