Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1361488 - system_reset should clear pending request for error (virtio-blk)
Summary: system_reset should clear pending request for error (virtio-blk)
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Fam Zheng
QA Contact: aihua liang
Depends On: 1361487 1361490
Blocks: 1420049
TreeView+ depends on / blocked
Reported: 2016-07-29 07:26 UTC by Fam Zheng
Modified: 2017-08-01 17:46 UTC (History)
15 users (show)

Fixed In Version: qemu-kvm-1.5.3-131.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1361487
: 1420049 (view as bug list)
Last Closed: 2017-08-01 17:46:48 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:1856 normal SHIPPED_LIVE Moderate: qemu-kvm security, bug fix, and enhancement update 2017-08-01 18:03:36 UTC

Description Fam Zheng 2016-07-29 07:26:09 UTC
+++ 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.

Comment 3 Ademar Reis 2016-09-28 01:49:24 UTC
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

Comment 6 Miroslav Rezanina 2017-02-10 12:20:33 UTC
Fix included in qemu-kvm-1.5.3-131.el7

Comment 9 aihua liang 2017-02-14 06:47:35 UTC
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

Comment 10 errata-xmlrpc 2017-08-01 17:46:48 UTC
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.

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