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