Description of problem:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Run qemu with the following command line qemu-kvm -m MEMORY -smp SMP -cpu host -nodefaults -vga cirrus -vnc :1 -drive if=none,id=block.0,format=raw, cache=writeback,file=drive.img -device virtio-blk-pci,bootindex=1,
drive=block.0 -monitor stdio
2.stressed the disk by running Crystal Disk mark (a free IO measuring tool).
3.When it got to the 4 KB random write tests - it would consistently blue screen.
this bug was reported upstream :
However it's easily reproducible on rhel6.3 as well
Fixed in build25
Reproduced this issue on virtio-win-prewhql-22
Verified this issue on virtio-win-prewhql-25
1.start guest w/ cache=writeback
2.in the guest ,running Crystal Disk mark .choose "9 2000MB C:\ “
On virtio-win-prewhql-22 ,guest BSOD ocurrs
On virtio-win-prewhql-25 ,gust works fine
Based on above ,this issue has been fixed ald .
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
This bug was reported upstream by several different people.
Cause: it was a race condition in viostor driver due to incorrect flush requests handling.
Consequence: Under heavy load, usually (but not always) when using cache=writheback option, flush handler was executed asynchronously without proper synchronisation with the rest of request processing logic.
Fix: Synchronize execution of the flush request handler with ISR.
Result: Fixed for all OSes including WinXp
I could not find the build 25 package, so I am using build 26. Is that OK?
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.