Re: [PATCH, RFC] virtio_blk: add cache flush command

Christoph Hellwig
2009-05-12T07:20:11Z

On Mon, May 11, 2009 at 07:49:37PM +0300, Avi Kivity wrote:
> Maybe we should add a fourth cache= mode then. But
> cache=writeback+fsync doesn't correspond to any real world drive; in the
> real world you're limited to power failures and a few megabytes of cache
> (typically less), cache=writeback+fsync can lose hundreds of megabytes
> due to power loss or software failure.

cache=writeback+fsync is exactly the same model as a normal writeback
cache disk drive. (Well, almost as we currently don't use tag ordering
but drain flushes as a Linux implementation detail, but the disks also
support TCQ-based ordering).

The cache size on disks is constantly growing, and if you lose cache
it doesn't really matter how much you lose but what you lose.

> Oh, and cache=writeback+fsync doesn't work on qcow2, unless we add fsync
> after metadata updates.

If you care about data integrity in case of crashes qcow2 doesn't work
at all.