Red Hat Bugzilla – Bug 1361488
system_reset should clear pending request for error (virtio-blk)
Last modified: 2017-08-01 13:46:48 EDT
+++ This bug was initially created as a clone of Bug #1361487 +++ Description of problem: The issue was reported on virtio-blk by Laszlo Ersek after him analyzing similar bugs on IDE: qemu-kvm-rhel6 BZ 1281713 qemu-kvm-rhel7 BZ 1299875 qemu-kvm-rhev7 BZ 1299876 The reproducer, as contributed by Laszlo, is: $ qemu-img create -f qcow2 test.qcow2 8G $ ulimit -f 256 $ qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 \ \ -drive file=test.qcow2,werror=stop,rerror=stop,cache=writeback,id=hd0,if=none \ -device virtio-blk-pci,drive=hd0 \ \ -drive id=cd0,readonly,media=cdrom,cache=writeback,if=none,file=/mnt/data/isos/iso-fedora/Fedora-Workstation-Live-x86_64-24-1.2.iso \ -device ide-cd,drive=cd0 \ -monitor stdio - click Begin Installation in anaconda - when the guest is stopped, enter "system_reset", then "cont" at the monitor prompt Expected results: after system_reset, cont should reboot the guest. The pending I/O req should be dropped.
For reference, this is the cluster of BZ related to this issue: bug 1281713, bug 1299876, bug 1299875, bug 1361487, bug 1361490, bug 1361488, bug 1375520
Fix included in qemu-kvm-1.5.3-131.el7
Verified, it has been resolved, so set its status to "Verified". Version-Release number: kernel version:3.10.0-560.el7.x86_64 qemu-kvm-rhev version:qemu-kvm-1.5.3-131.el7.x86_64 Test Step: 1.Create a 25G qcow2 image and install windows2012r2 on it. 2.Full write the guest image disk until no space left on device. 3.Start guest by qemu cmd: /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -sandbox off \ -machine pc \ -nodefaults \ -vga std \ -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmpmonitor1-20161219-042734-6fVMWCMz,server,nowait \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/monitor-catch_monitor-20161219-042734-6fVMWCMz,server,nowait \ -mon chardev=qmp_id_catch_monitor,mode=control \ -drive id=drive_image1,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/usr/share/avocado/data/avocado-vt/images/win2012.qcow2 \ -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=03 \ -device virtio-net-pci,mac=9a:f2:f3:f4:f5:f6,id=id30uvBS,vectors=4,netdev=idADyVP5,bus=pci.0,addr=04 \ -netdev tap,id=idADyVP5,vhost=on \ -m 2048 \ -smp 16,maxcpus=16,cores=8,threads=1,sockets=2 \ -cpu host \ -vnc :0 \ -rtc base=localtime,clock=host,driftfix=slew \ -boot order=cdn,once=d,menu=off,strict=off \ -enable-kvm \ -spice port=3000,ipv4,disable-ticketing \ -monitor stdio \ 4.Wait until it hangs 5.Check vm status: (qemu)info status -------> VM status:paused(io-error) 6.Reset vm, then check vm status (qemu)info status -------->VM status:paused(io-error) 7.Cont vm (qemu)cont -------->VM restart but hang when loading os 8.Check vm status (qemu)info status -------->VM status:paused(io-error) 9.Clean the full disk for enough space, then repeat step6~8 (qemu)info status -------->VM status:running Actual Result: VM can recover from io-error after reset
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. https://access.redhat.com/errata/RHSA-2017:1856