On Wed, May 26, 2010 at 09:04:32PM +0200, Alexander Graf wrote:
> When using -snapshot we don't care about data integrity of the cow file
> at all, so let's disable flushing there and squeeze out the last drop
> of performance we could possibly get.
> 
> Signed-off-by: Alexander Graf <ag...@suse.de>

Thanks, applied.

> ---
>  qemu-options.hx |    6 +++---
>  vl.c            |    4 ++--
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/qemu-options.hx b/qemu-options.hx
> index b389f36..6db6d91 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -165,8 +165,7 @@ Specify the controller's PCI address (if=virtio only).
>  By default, writeback caching is used for all block devices. It will report
>  data writes as completed as soon as the data is present in the host page
>  cache.  This is safe as long as you trust your host.  If your host crashes
> -or loses power, then the guest may experience data corruption.  When using
> -the @option{-snapshot} option, writeback caching is always used.
> +or loses power, then the guest may experience data corruption.
>  
>  Writethrough caching means that the host page cache will be used to read
>  and write data but write notification will be sent to the guest only when
> @@ -184,7 +183,8 @@ In case you don't care about data integrity over host 
> failures, use
>  cache=unsafe. This option tells qemu that it never needs to write any data
>  to the disk but can instead keeps things in cache. If anything goes wrong,
>  like your host losing power, the disk storage getting disconnected 
> accidently,
> -etc. you're image will most probably be rendered unusable.
> +etc. you're image will most probably be rendered unusable.   When using
> +the @option{-snapshot} option, unsafe caching is always used.
>  
>  Instead of @option{-cdrom} you can use:
>  @example
> diff --git a/vl.c b/vl.c
> index a70e487..21bd808 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1108,9 +1108,9 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
>          return NULL;
>      }
>      if (snapshot) {
> -        /* always use write-back with snapshot */
> +        /* always use cache=unsafe with snapshot */
>          bdrv_flags &= ~BDRV_O_CACHE_MASK;
> -        bdrv_flags |= (BDRV_O_SNAPSHOT|BDRV_O_CACHE_WB);
> +        bdrv_flags |= (BDRV_O_SNAPSHOT|BDRV_O_CACHE_WB|BDRV_O_NO_FLUSH);
>      }
>  
>      if (media == MEDIA_CDROM) {
> -- 
> 1.6.0.2
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to