Re: [Qemu-devel] [RFC V6 04/33] qcow2: Add qcow2_dedup_read_missing_and_concatenate

2013-02-08 Thread Stefan Hajnoczi
On Fri, Feb 08, 2013 at 03:12:57PM +0100, Benoît Canet wrote: > > > +iov.iov_len = nb_sectors * BDRV_SECTOR_SIZE; > > > +iov.iov_base = data; > > > +qemu_iovec_init_external(&qiov, &iov, 1); > > > +qemu_co_mutex_unlock(&s->lock); > > > +ret = bdrv_co_readv(bs, sector_num, nb_sec

Re: [Qemu-devel] [RFC V6 04/33] qcow2: Add qcow2_dedup_read_missing_and_concatenate

2013-02-08 Thread Benoît Canet
> > +/* Fix cluster_ending_nr if we are at risk of reading outside the image > > + * (Cluster unaligned image size) > > + */ > > +max_cluster_ending_nr = bs->total_sectors - first_sector_after_qiov; > > +cluster_ending_nr = max_cluster_ending_nr < (uint64_t) > > cluster_ending_

Re: [Qemu-devel] [RFC V6 04/33] qcow2: Add qcow2_dedup_read_missing_and_concatenate

2013-02-06 Thread Eric Blake
On 02/06/2013 05:31 AM, Benoît Canet wrote: > This function is used to read missing data when unaligned writes are > done. This function also concatenate missing data with the given > qiov data in order to prepare a buffer used to look for duplicated > clusters. > > +/* > + * Prepare a buffer con

Re: [Qemu-devel] [RFC V6 04/33] qcow2: Add qcow2_dedup_read_missing_and_concatenate

2013-02-06 Thread Stefan Hajnoczi
On Wed, Feb 06, 2013 at 01:31:37PM +0100, Benoît Canet wrote: > +/* > + * Prepare a buffer containing all the required data required to compute > cluster Easier to read this way: s/all the required data required/everything required/ > + * sized deduplication hashes. > + * If sector_num or nb_sec

[Qemu-devel] [RFC V6 04/33] qcow2: Add qcow2_dedup_read_missing_and_concatenate

2013-02-06 Thread Benoît Canet
This function is used to read missing data when unaligned writes are done. This function also concatenate missing data with the given qiov data in order to prepare a buffer used to look for duplicated clusters. Signed-off-by: Benoit Canet --- block/Makefile.objs |1 + block/qcow2-dedup.c |