Am 14.05.2012 15:51, schrieb zwu.ker...@gmail.com:
> From: Zhi Yong Wu <wu...@linux.vnet.ibm.com>
> 
> 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 <wu...@linux.vnet.ibm.com>

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

Reply via email to