[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC V5 03/36] qcow2: Add qcow2_dedup_read_missing_and_
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC V5 03/36] qcow2: Add qcow2_dedup_read_missing_and_concatenate |
Date: |
Wed, 16 Jan 2013 09:53:10 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 01/16/2013 09:24 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.
>
> Signed-off-by: Benoit Canet <address@hidden>
> ---
> block/Makefile.objs | 1 +
> block/qcow2-dedup.c | 119
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> block/qcow2.c | 36 +++++++++++++++-
> block/qcow2.h | 12 ++++++
> 4 files changed, 167 insertions(+), 1 deletion(-)
> create mode 100644 block/qcow2-dedup.c
I'm not an expert in this area of code, so I didn't review it closely.
However, I did notice this:
> +++ b/block/qcow2.c
> @@ -69,7 +69,6 @@ static int qcow2_probe(const uint8_t *buf, int buf_size,
> const char *filename)
> return 0;
> }
>
> -
> /*
> * read qcow2 extension and fill bs
> * start reading from start_offset
Spurious whitespace change.
> @@ -1110,6 +1109,41 @@ fail:
> return ret;
> }
>
> +/**
> + * Read some data from the QCOW2 file
> + *
> + * Important: s->lock is dropped. Things can change before the function
> return
s/return/returns/
> + * to the caller.
> + *
> + * @data: the buffer where the data must be stored
> + * @sector_num: the sector number to read in the QCOW2 file
> + * @nb_sectors: the number of sectors to read
> + * @ret: negative on error
> + */
> +int qcow2_read_cluster_data(BlockDriverState *bs,
> + uint8_t *data,
> + uint64_t sector_num,
> + int nb_sectors)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [RFC V5 00/36] QCOW2 deduplication core functionality, Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 02/36] qcow2: Add deduplication structures and fields., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 01/36] qcow2: Add deduplication to the qcow2 specification., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 04/36] qcow2: Make update_refcount public., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 05/36] qcow2: Create a way to link to l2 tables when deduplicating., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 03/36] qcow2: Add qcow2_de dup_read_missing_and_concatenate, Benoît Canet, 2013/01/16
- Re: [Qemu-devel] [RFC V5 03/36] qcow2: Add qcow2_dedup_read_missing_and_concatenate,
Eric Blake <=
- [Qemu-devel] [RFC V5 06/36] qcow2: Add qcow2_dedup and related functions, Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 10/36] qcow2: Add qcow2_dedup_grow_table and use it., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 12/36] qcow2: make the deduplication forget a cluster hash when a cluster is to dedupe, Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 13/36] qcow2: Create qcow2_is_cluster_to_dedup., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 14/36] qcow2: Load and save deduplication table header extension., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 16/36] qcow2-cache: Allow to choose table size at creation., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 17/36] qcow2: Extract qcow2_add_feature and qcow2_remove_feature., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 19/36] qcow2: Add a deduplication boolean to update_refcount., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 25/36] qcow2: Add verification of dedup table., Benoît Canet, 2013/01/16