[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 1/4] block: clarify the meaning of BDRV_O_NOCACH
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH 1/4] block: clarify the meaning of BDRV_O_NOCACHE |
Date: |
Wed, 16 Mar 2011 10:55:04 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 |
Am 16.03.2011 10:42, schrieb Stefan Hajnoczi:
> On Tue, Mar 15, 2011 at 2:11 PM, Christoph Hellwig <address@hidden> 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 <address@hidden>
>
> 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
[Qemu-devel] [PATCH 2/4] block: add a helper to change writeback mode on the fly, Christoph Hellwig, 2011/03/15