Am 14.05.2012 15:51, schrieb [email protected]:
> From: Zhi Yong Wu <[email protected]>
>
> qcow2_co_flush_to_os() actually flush all cached data to the disk. To keep
> its name consistent with its actual function, adjust its name accordingly.
>
> Signed-off-by: Zhi Yong Wu <[email protected]>
This patch is plain wrong.
You're aware that you're not changing a name, but functionality here?
Have a look at block_int.h for the semantics of each function:
/*
* Flushes all data that was already written to the OS all the way
down to
* the disk (for example raw-posix calls fsync()).
*/
int coroutine_fn (*bdrv_co_flush_to_disk)(BlockDriverState *bs);
/*
* Flushes all internal caches to the OS. The data may still sit in a
* writeback cache of the host OS, but it will survive a crash of
the qemu
* process.
*/
int coroutine_fn (*bdrv_co_flush_to_os)(BlockDriverState *bs);
Apart from that, it's not even intentional that qcow2 does a
bdrv_flush() even if it didn't write out any cache entries. If we
optimise the cache code a bit, this might disappear in the future.
Kevin