On Tue, 07/29 13:51, Stefan Hajnoczi wrote:
> On Tue, Jul 29, 2014 at 09:00:43AM +0800, Fam Zheng wrote:
> > On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
> > > On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
> > > > +if (!bs->backing_hd) {
> > > > +memset(whole_grain, 0, skip
On Tue, Jul 29, 2014 at 09:00:43AM +0800, Fam Zheng wrote:
> On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
> > On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
> > > +if (!bs->backing_hd) {
> > > +memset(whole_grain, 0, skip_start_sector << BDRV_SECTOR_BITS);
> > > +mem
On Mon, 07/28 16:11, Stefan Hajnoczi wrote:
> On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
> > +if (!bs->backing_hd) {
> > +memset(whole_grain, 0, skip_start_sector << BDRV_SECTOR_BITS);
> > +memset(whole_grain + (skip_end_sector << BDRV_SECTOR_BITS), 0,
> > +
On Tue, May 27, 2014 at 04:49:22PM +0800, Fam Zheng wrote:
> +if (!bs->backing_hd) {
> +memset(whole_grain, 0, skip_start_sector << BDRV_SECTOR_BITS);
> +memset(whole_grain + (skip_end_sector << BDRV_SECTOR_BITS), 0,
> + cluster_bytes - (skip_end_sector << BDRV_SE
This drops the unnecessary bdrv_truncate() from, and also improves,
cluster allocation code path.
Before, when we need a new cluster, get_cluster_offset truncates the
image to bdrv_getlength() + cluster_size, and returns the offset of
added area, i.e. the image length before truncating.
This is n