Hide Forgot
Description of problem: Boot guest with a lvm as data disk, then dd a big file to this data disk(file size > data disk size), guest should be hangs.Enlarge the lvm then run "cont" in qumu monitor ,guest should resume. But with virtio-scsi disk, guest resume failed. Version-Release number of selected component (if applicable): # uname -r;rpm -q qemu-kvm 2.6.32-251.el6.x86_64 qemu-kvm-0.12.1.2-2.265.el6rhev.x86_64 How reproducible: 3/3 Steps to Reproduce: 1.Create qcow2 on a small lvm,qcow2 image size > lvm size e.g ACTIVE '/dev/wdai_test/blklv3' [1.00 GiB] inherit # qemu-img create -f qcow2 /dev/wdai_test/blklv3 5G 2.Boot guest with this lvm as a data disk 3.In guest dd a big file to the data disk, guest will hang e.g # dd if=/dev/zero of=/dev/sdb bs=1M count=4096 4.Enlarge the lvm to 5G e.g # lvextend -L +4G /dev/wdai_test/blklv3 5.run "cont" in qemu monitor (qemu) cont qemu command line: /usr/libexec/qemu-kvm -cpu SandyBridge -rtc base=localtime,clock=host,driftfix=slew -M rhel6.3.0 -enable-kvm -name rhel6.3-64 -smp 2,cores=2,threads=1,sockets=1 -m 4G -uuid c2b21082-bee1-41eb-a7fa-494782cd7128 -boot menu=on -drive file=/dev/wdai_test/blklv2,if=none,id=virtio-scsi-disk0,format=qcow2,cache=none,aio=native,media=disk,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsibus1 -device scsi-hd,drive=virtio-scsi-disk0,bus=scsibus1.0,scsi-id=0,lun=0,id=lun0,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0,mac=44:37:E6:5E:A3:F7 -spice port=9000,disable-ticketing -vga qxl -monitor stdio -usb -device usb-tablet,id=input1 -serial unix:/home/wdai-live-blk,server,nowait -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -drive file=/dev/wdai_test/blklv3,if=none,format=qcow2,cache=none,aio=native,media=disk,werror=stop,rerror=stop,id=datadisk -device scsi-hd,drive=datadisk,bus=scsibus1.0,scsi-id=0,lun=1,id=datadisk1 Actual results: after step 5, QEMU gets Aborted. (qemu) cont (qemu) qemu-kvm: /builddir/build/BUILD/qemu-kvm-0.12.1.2/hw/scsi-disk.c:369: scsi_write_data: Assertion `r->req.aiocb == ((void *)0)' failed. Program received signal SIGABRT, Aborted. 0x00007ffff57788a5 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff57788a5 in raise () from /lib64/libc.so.6 #1 0x00007ffff577a085 in abort () from /lib64/libc.so.6 #2 0x00007ffff5771a1e in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff5771ae0 in __assert_fail () from /lib64/libc.so.6 #4 0x00007ffff7e5e901 in scsi_write_data (req=0x7fffdc0fd990) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/scsi-disk.c:369 #5 0x00007ffff7e5def6 in scsi_dma_restart_bh (opaque=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/scsi-bus.c:53 #6 0x00007ffff7e1d741 in qemu_bh_poll () at async.c:70 #7 0x00007ffff7deb2c9 in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4032 #8 0x00007ffff7e0c86a in kvm_main_loop () at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2244 #9 0x00007ffff7dedc9c in main_loop (argc=20, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4202 #10 main (argc=20, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:6427 Expected results: Guest should resume successfully. Additional info: With virtio-blk disk no this issue.
Since virtio-blk is safe w.r.t this case I'll move it to 6.4
This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux.
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development. This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.
*** Bug 828047 has been marked as a duplicate of this bug. ***
*** Bug 827284 has been marked as a duplicate of this bug. ***
(In reply to comment #6) > *** Bug 828047 has been marked as a duplicate of this bug. *** (In reply to comment #7) > *** Bug 827284 has been marked as a duplicate of this bug. *** I'm sure QE does it already, but for the record, please make these other scenarios (Bug 827284 and Bug 828047) are tested when verifying this bug.
*** Bug 846268 has been marked as a duplicate of this bug. ***
See also another scenario in bug 846268.
*** Bug 847616 has been marked as a duplicate of this bug. ***
Reproduce this issue on qemu-kvm-0.12.1.2-2.295.el6.x86_64 with the same steps as comment #0. host info: # uname -r && rpm -q qemu-kvm 2.6.32-325.el6.x86_64 qemu-kvm-0.12.1.2-2.295.el6.x86_64 Results of reproduce: after step 5, QEMU gets Aborted. (qemu) cont (qemu) qemu-kvm: /builddir/build/BUILD/qemu-kvm-0.12.1.2/hw/scsi-disk.c:369: scsi_write_data: Assertion `r->req.aiocb == ((void *)0)' failed. Program received signal SIGABRT, Aborted. 0x00007ffff57568a5 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff57568a5 in raise () from /lib64/libc.so.6 #1 0x00007ffff5758085 in abort () from /lib64/libc.so.6 #2 0x00007ffff574fa1e in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff574fae0 in __assert_fail () from /lib64/libc.so.6 #4 0x00007ffff7e5fef1 in scsi_write_data (req=0x7fffd4026230) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/scsi-disk.c:369 #5 0x00007ffff7e5f4e6 in scsi_dma_restart_bh (opaque=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/hw/scsi-bus.c:53 #6 0x00007ffff7e1e921 in qemu_bh_poll () at async.c:70 #7 0x00007ffff7dec319 in main_loop_wait (timeout=1000) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4032 #8 0x00007ffff7e0da4a in kvm_main_loop () at /usr/src/debug/qemu-kvm-0.12.1.2/qemu-kvm.c:2244 #9 0x00007ffff7deecec in main_loop (argc=20, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:4202 #10 main (argc=20, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:6427 (gdb) ------------------------------------------------------------------------------ Reproduce this issue on qemu-kvm-0.12.1.2-2.320.el6.x86_64 with the following three scenarios. host info: # uname -r && rpm -q qemu-kvm 2.6.32-325.el6.x86_64 qemu-kvm-0.12.1.2-2.320.el6.x86_64 --- scenario 1: just as comment #0 Results: after enlarge the lvm, guest resume successfully and dd finish successfully in guest. (In reply to comment #8) > I'm sure QE does it already, but for the record, please make these other > scenarios (Bug 827284 and Bug 828047) are tested when verifying this bug. --- scenario 2: Bug 827284 Steps: just as bug 827284 describe. Results: after the step 6, the QEMU have no core dump, VM can be resumed successfully without any error, and the guest can work correctlly. --- scenario 3: Bug 828047 Steps: just as bug 828047 describe. Results: the data image size can was shrink to 5.0G correctly as expected, both the guest and host work correctly. (In reply to comment #10) > See also another scenario in bug 846268. this bug has been verify in bug 846268. Base on above, this issue has been fixed successfully. Best Regards. sluo
According to comment16, set this issue as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0527.html