Rik van Riel wrote:
When cache=on, read requests may not actually go to the disk. If a
previous read request (by some application on the system) has read the
same data, then it becomes a simple memcpy(). Also, the host IO
scheduler may do read ahead which means that the data may be available
>from that.
This can be as much of a data integrity problem as
asynchronous writes, if various qemu/kvm guests are
accessing the same disk image with a cluster filesystem
like GFS.
If there are multiple qemu/kvm guests accessing the same disk image in
a cluster, provided the host cluster filesystem uses a fully coherent
protocol, ordinary cached reads should be fine. (E.g. not NFS).