Hide Forgot
Description of problem: we should disable and give friendly error warning message if not support block_resize for libiscsi storage disk or fix it to work well. Version-Release number of selected component (if applicable): host info: 3.10.0-10.el7.x86_64 qemu-kvm-1.5.3-20.el7.x86_64 seabios-1.7.2.2-4.el7.x86_64 guest info: rhel6.5-32bit How reproducible: 100% Steps to Reproduce: 1.prepare a libiscsi storage(My libiscsi storage is about 30G here). 2.boot guest with this libiscsi storage. e.g:/usr/libexec/qemu-kvm -M pc -cpu SandyBridge -enable-kvm...-drive file=iscsi://10.66.6.82:3260/iqn.2013-11.com.example:storage.disk1.juli.xyz/2,if=none,id=drive-data-disk,format=raw,cache=none,serial="QEMU-DISK" -device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-data-disk,id=data-disk -iscsi id=iqn-sluo 3.do block_resize via HMP/QMP monitor. Actual results: after step 3, It fail to do enlarging images and the message not very correctly, like: (qemu) block_resize drive-data-disk 50G Could not resize: Invalid argument { "execute": "block_resize", "arguments": { "device": "drive-data-disk", "size": 53687091200 }} {"error": {"class": "GenericError", "desc": "Could not resize: Invalid argument"}} If do shrinking images, it can run the shrinking command correctly, but it did not make effect in guest which not detect the logical block changes. (qemu) block_resize drive-data-disk 10G (qemu) { "execute": "block_resize", "arguments": { "device": "drive-data-disk", "size": 10737418240 }} {"return": {}} Expected results: we should disable and give more friendly error warning message if not support block_resize for libiscsi storage disk or fix it to work well. Additional info:
My qemu-kvm command line: # /usr/libexec/qemu-kvm -M pc -S -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=iscsi://10.66.90.100:3260/iqn.2001-05.com.equallogic:0-8a0906-0971f7d03-1dff49b26885073d-s2-sluo-172259/0,if=none,id=drive-disk,cache=none,format=raw,aio=native,werror=stop,rerror=stop -iscsi id=iqn -device virtio-blk-pci,vectors=0,bus=pci.0,addr=0x4,scsi=off,drive=drive-disk,id=system-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:40:21,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -drive file=iscsi://10.66.6.82:3260/iqn.2013-11.com.example:storage.disk1.juli.xyz/2,if=none,id=drive-data-disk,format=raw,cache=none,serial="QEMU-DISK" -device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-data-disk,id=data-disk -iscsi id=iqn-sluo -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :1 -spice disable-ticketing,port=5931 -monitor stdio
Similar to logical volumes, you need to enlarge the LUN first on the iSCSI target. You can then issue "block_resize" with the new capacity.