qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 2/6] add basic backup support to block driver


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v3 2/6] add basic backup support to block driver
Date: Thu, 21 Feb 2013 07:51:05 -0500 (EST)


----- Messaggio originale -----
> Da: "Dietmar Maurer" <address@hidden>
> A: "Paolo Bonzini" <address@hidden>
> Cc: address@hidden
> Inviato: Giovedì, 21 febbraio 2013 12:40:52
> Oggetto: RE: [PATCH v3 2/6] add basic backup support to block driver
> 
> > > > I think you do.  You're wasting time reading unallocated
> > > > clusters
> > > > and checking that they are zero.  bdrv_is_allocated_above gives
> > > > you
> > > > the same information much more efficiently.
> > >
> > > I thought that just returns information if the data is allocated,
> > > or
> > > if data is on backing file?
> > >
> > > Or is data guaranteed to be zero if bdrv_is_allocated_above()
> > > return 0?
> > 
> > Oh, I need to pass NULL for base to get that information?
> 
> I just posted v5 of the patch. But I get a slow down of 15% if I use
> bdrv_is_allocated_above. (tested with empty qcow2 files.)

Strange, for an unallocated area bdrv_is_allocated_above and bdrv_read
really do the same thing apart from writing the zeroes to the buffer.
The code looks okay, does a profile say where the time is being spent?
Or does the is_allocated_above ever trigger (are you using metadata
preallocation)?

BTW, any reason why BACKUP_BLOCKS_PER_CLUSTER is hardcoded and you're
not using the cluster size from bdrv_get_info?

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]