RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 515270 - RFE: Notifications of guest stopping due to disk I/O errors
Summary: RFE: Notifications of guest stopping due to disk I/O errors
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Dave Allan
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 547501 586014
Blocks: 526231 536947
TreeView+ depends on / blocked
 
Reported: 2009-08-03 15:00 UTC by Daniel Berrangé
Modified: 2016-04-26 16:43 UTC (History)
8 users (show)

Fixed In Version: libvirt-0.7.8-0.pre20100330.el6
Doc Type: Enhancement
Doc Text:
Clone Of:
: 536947 (view as bug list)
Environment:
Last Closed: 2010-07-02 19:24:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Daniel Berrangé 2009-08-03 15:00:24 UTC
Description of problem:
QEMU allows a guest to be configured to automatically stop execution if a disk write fails with ENOSPC.

RHEL patches allow the monitor to emit an event notifying client when this occurs. 

The libvirt API already allows for notifications of lifecycle changes. The QEMU driver needs to be extended to understand the monitor event syntax, and issue a PAUSED lifecycle change when the VM is stopped indirectly.

Version-Release number of selected component (if applicable):
0.7.0

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 2 RHEL Program Management 2009-08-03 15:19:28 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 4 Hugh Brock 2009-11-20 20:03:17 UTC
Dan, is this fixed in the monitor patch series?

Comment 5 Daniel Berrangé 2009-11-23 10:58:55 UTC
The monitor patches merely put in place the infrastructure, they didn't hook up
any of the events yet because that's waiting on the JSON work in QEMU. Once
that's ready we'll support this.

Comment 7 Daniel Berrangé 2010-02-16 17:08:35 UTC
A proof of concept is posted upstream. This will always set werror=stop, rerror=stop and switch libvirt state to PAUSED, and emit an error apps can detect

http://www.redhat.com/archives/libvir-list/2010-February/msg00545.html

Comment 8 Hugh Brock 2010-02-25 09:40:49 UTC
We need to update this to allow passing a flag to QEMU to tell it *not* to pause the VM on i/o error (there are cases where you want the VM to receive an i/o error so it can act on it).

Comment 9 Luiz Capitulino 2010-03-03 13:11:57 UTC
We currently have a bug in QMP that when the i/o error occurs several events are emitted:

https://bugzilla.redhat.com/show_bug.cgi?id=568098

Now, the point is that I'm not sure whether this is a bug for all possible cases. It's something I'd expect if action is ignore, for example.

Comment 10 Daniel Berrangé 2010-03-19 15:44:00 UTC
Posted as part of this thread

http://www.redhat.com/archives/libvir-list/2010-March/msg00804.html

This patch does IO error events

http://www.redhat.com/archives/libvir-list/2010-March/msg00816.html

Comment 11 Daniel Veillard 2010-03-30 21:27:42 UTC
libvirt-0.7.8-0.pre20100330.el6 was built in RHEL-6-candidate with
the patches

Daniel

Comment 16 Nan Zhang 2010-06-23 12:15:40 UTC
Verified with libvirt-0.8.1-9.el6.x86_64. libvirt can catch the disk I/O errors events. Moving to VERIFIED.

15:23:55.912: debug : qemuMonitorJSONIOProcessEvent:86 : mon=0x7f3cb008f5b0 obj=0x7f3cc809cf70
15:23:55.912: debug : qemuMonitorJSONIOProcessEvent:99 : handle BLOCK_IO_ERROR handler=0x478330 data=0x7f3cc809d900
15:23:55.912: warning : qemuMonitorJSONHandleIOError:597 : missing reason in disk io error event
15:23:55.912: debug : qemuMonitorJSONIOProcess:188 : Total used 208 bytes out of 208 available in buffer
15:23:55.913: debug : qemuMonitorJSONIOProcessLine:115 : Line [{"timestamp": {"seconds": 1277321035, "microseconds": 913367}, "event": "BLOCK_IO_ERROR", "data": {"device": "drive-virtio-disk1", "__com.redhat_reason": "eother", "operation": "write", "action": "report"}}]

Comment 17 releng-rhel@redhat.com 2010-07-02 19:24:28 UTC
Red Hat Enterprise Linux Beta 2 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.


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