From upstream bug https://bugs.launchpad.net/qemu/+bug/985288 Microsoft NTFS utilizes the FUA bit in SCSI WRITE CDBs to insure integrity when a device advertises that it has write caching enabled. The FUA bit is meant to ensure a write is written to non-volatile storage before returning. This seems to not be enforced by QEMU's SCSI emulation code.
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.
Hi, Paolo Would you please provide an efficient way for qe produce/verify this issue? thanks
You can run "strace -e fdatasync -ff /usr/libexec/qemu-kvm ..." (with scsi-hd, not scsi-block) and in the guest do sg_dd if=/dev/zero of=/dev/sda oflag=fua Without the patch you should not see any fdatasync call.
(In reply to comment #4) > You can run "strace -e fdatasync -ff /usr/libexec/qemu-kvm ..." (with > scsi-hd, not scsi-block) and in the guest do > > sg_dd if=/dev/zero of=/dev/sda oflag=fua > > Without the patch you should not see any fdatasync call. Tried with qemu-kvm-302 by using paolo suggestion way, can not find fdatasync call, marked ack+
Verified on qemu-kvm-rhev-0.12.1.2-2.348.el6.x86_64: with steps from comment 4, there is fdatasync calls.
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