On Fri, 19 Apr 2013, Stefan Hajnoczi wrote:
I don't see bdrv_aio_flush() in this patch. How does the guest ensure that data is safely on persistent storage (e.g. protected against data loss by power failure).
Great point! This is to be consistent with the NVMe spec. This commit is the bare minimum, and an NVMe flush command is supported only if the device reports having a Volatile Write Cache and it being enabled. Both of these things are optional so they are ommitted in this commit. My branch of QEMU supports the entirety of the specification including flush and I hope to make it publicly available, but that was just too big a commit to send for consideration.