[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1.2 3/7] block: always open protocol in writebac
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 1.2 3/7] block: always open protocol in writeback mode |
Date: |
Thu, 31 May 2012 13:43:34 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 |
Il 31/05/2012 13:33, Kevin Wolf ha scritto:
>> > diff --git a/block.c b/block.c
>> > index 7add33c..43b3de6 100644
>> > --- a/block.c
>> > +++ b/block.c
>> > @@ -661,7 +661,7 @@ static int bdrv_open_common(BlockDriverState *bs,
>> > const char *filename,
>> > if (drv->bdrv_file_open) {
>> > ret = drv->bdrv_file_open(bs, filename, open_flags);
> Why don't you add the writeback flag here? Would the code is raw-posix
> that adds O_DSYNC be unused then. and can it still be used in other ways
> than format=file/host_* with this patch?
Because in this case there is no format over it, so the topmost BDS will
be open with BDRV_O_CACHE_WB and no one will call bdrv_flush.
We could indeed remove the BDRV_O_CACHE_WB handling in all the protocol
drivers (at least those where bdrv_flush_to_disk does something
sensible), and always open in writeback mode. At that point this patch
could be reverted.
Paolo
>> > } else {
>> > - ret = bdrv_file_open(&bs->file, filename, open_flags);
>> > + ret = bdrv_file_open(&bs->file, filename, open_flags |
>> > BDRV_O_CACHE_WB);
>> > if (ret >= 0) {
>> > ret = drv->bdrv_open(bs, open_flags);
>> > }
[Qemu-devel] [PATCH 1.2 4/7] block: copy enable_write_cache in bdrv_append, Paolo Bonzini, 2012/05/22
[Qemu-devel] [PATCH 1.2 5/7] block: add bdrv_set_enable_write_cache, Paolo Bonzini, 2012/05/22
[Qemu-devel] [PATCH 1.2 7/7] qcow2: always operate caches in writeback mode, Paolo Bonzini, 2012/05/22
[Qemu-devel] [PATCH 1.2 6/7] ide: support enable/disable write cache, Paolo Bonzini, 2012/05/22