qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 7/7] qcow2: always operate caches in writebac


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH v3 7/7] qcow2: always operate caches in writeback mode
Date: Fri, 08 Jun 2012 15:59:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Am 06.06.2012 00:04, schrieb Paolo Bonzini:
> Writethrough does not need special-casing anymore in the qcow2 caches.
> The block layer adds flushes after every guest-initiated data write,
> and these will also flush the qcow2 caches to the OS.
> 
> Signed-off-by: Paolo Bonzini <address@hidden>

> diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
> index 5d6ea72..66f3915 100644
> --- a/block/qcow2-refcount.c
> +++ b/block/qcow2-refcount.c
> @@ -726,13 +726,6 @@ int qcow2_update_snapshot_refcount(BlockDriverState *bs,
>      int64_t old_offset, old_l2_offset;
>      int i, j, l1_modified = 0, nb_csectors, refcount;
>      int ret;
> -    bool old_l2_writethrough, old_refcount_writethrough;
> -
> -    /* Switch caches to writeback mode during update */
> -    old_l2_writethrough =
> -        qcow2_cache_set_writethrough(bs, s->l2_table_cache, false);
> -    old_refcount_writethrough =
> -        qcow2_cache_set_writethrough(bs, s->refcount_block_cache, false);
>  
>      l2_table = NULL;
>      l1_table = NULL;
> @@ -856,11 +849,6 @@ fail:
>          qcow2_cache_put(bs, s->l2_table_cache, (void**) &l2_table);
>      }
>  
> -    /* Enable writethrough cache mode again */
> -    qcow2_cache_set_writethrough(bs, s->l2_table_cache, old_l2_writethrough);
> -    qcow2_cache_set_writethrough(bs, s->refcount_block_cache,
> -        old_refcount_writethrough);
> -

Here you're dropping an implicit cache flush. Not sure if it really
matters, though. Maybe we should add flushes in the right places in
higher level functions like bdrv_snapshot_create().

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]