Bug 670539

Summary: Block devices don't implement correct flush error handling
Product: Red Hat Enterprise Linux 6 Reporter: Kevin Wolf <kwolf>
Component: qemu-kvmAssignee: Kevin Wolf <kwolf>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.1CC: lihuang, michen, mkenneth, szhou, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.135.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 11:34:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kevin Wolf 2011-01-18 15:54:44 UTC
The handling of errors during a flush command is wrong in IDE and virtio-blk: IDE completely ignores flush errors and always returns success to the guest. Both IDE and virtio-blk don't respect werror=stop if the write error occurs during a flush.

Comment 5 Shirley Zhou 2011-02-16 07:16:44 UTC
Kevin, Please provide some notes how QE can test this issue. Thanks.

Comment 6 Kevin Wolf 2011-02-16 09:41:54 UTC
This is a corner case. It's unlikely that you ever trigger this under normal circumstances, because you'll always have writes before and after the flush that will fail as well.

I think we can create an unusual setup where you could notice the difference. Let's try this: Do something like the usual I/O error tests, e.g. create some I/O and shutdown the NFS server. To maximize the amount of flushes, try using dd with conv=fsync for the I/O. Start qemu with werror=ignore,rerror=ignore in order to completely ignore the read/write errors that will occur so that even without this fix only flushes remain visible. Check dmesg for error messages in the guest. They are expected to be there without the patch, and they should disappear with the patch applied.

And after this better not restart the NFS server while the VM is still running. Otherwise be prepared for the guest filesystem to be broken, werror=ignore is dangerous.

Comment 8 Miya Chen 2011-03-17 09:08:32 UTC
move to verified based on comment#7

Comment 9 errata-xmlrpc 2011-05-19 11:34:13 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html

Comment 10 errata-xmlrpc 2011-05-19 13:00:57 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html