Red Hat Bugzilla – Bug 814084
scsi disk emulation doesn't enforce FUA (Force Unit Access) on writes
Last modified: 2013-02-21 02:34:02 EST
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.
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.