Am 16.03.2011 10:42, schrieb Stefan Hajnoczi: > On Tue, Mar 15, 2011 at 2:11 PM, Christoph Hellwig <h...@lst.de> wrote: >> Change BDRV_O_NOCACHE to only imply bypassing the host OS file cache, >> but no writeback semantics. All existing callers are changed to also >> specify BDRV_O_CACHE_WB to give them writeback semantics. >> >> Signed-off-by: Christoph Hellwig <h...@lst.de> > > I think there is one hunk missing: > diff --git a/block/qcow2.c b/block/qcow2.c > index 75b8bec..db1931b 100644 > --- a/block/qcow2.c > +++ b/block/qcow2.c > @@ -229,7 +229,7 @@ static int qcow2_open(BlockDriverState *bs, int flags) > } > > /* alloc L2 table/refcount block cache */ > - writethrough = ((flags & BDRV_O_CACHE_MASK) == 0); > + writethrough = ((flags & (BDRV_O_CACHE_WB | BDRV_O_NO_FLUSH)) == 0); > s->l2_table_cache = qcow2_cache_create(bs, L2_CACHE_SIZE, writethrough); > s->refcount_block_cache = qcow2_cache_create(bs, REFCOUNT_CACHE_SIZE, > writethrough);
This one doesn't make a difference. But the intention could be made clearer now that all writeback modes have BDRV_O_CACHE_WB set: writethrough = ((flags & BDRV_O_CACHE_WB) == 0); Kevin