Am 22.05.2012 18:17, schrieb Paolo Bonzini:
> Formats are entirely in charge of flushes for metadata writes.  For
> guest-initiated writes, a writethrough cache is faked in the block layer.
> 
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  block.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> 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?

>      } 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);
>          }

Kevin

Reply via email to