[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC V6 16/33] qcow2: Extract qcow2_do_table_init.
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [RFC V6 16/33] qcow2: Extract qcow2_do_table_init. |
Date: |
Thu, 7 Feb 2013 11:00:06 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Feb 06, 2013 at 01:31:49PM +0100, Benoît Canet wrote:
> diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
> index 296c440..9c16816 100644
> --- a/block/qcow2-refcount.c
> +++ b/block/qcow2-refcount.c
> @@ -31,27 +31,44 @@ static int64_t alloc_clusters_noref(BlockDriverState *bs,
> int64_t size);
> /*********************************************************/
> /* refcount handling */
>
> -int qcow2_refcount_init(BlockDriverState *bs)
> +int qcow2_do_table_init(BlockDriverState *bs,
> + uint64_t **table,
> + int64_t offset,
> + int size,
> + bool is_refcount)
> {
> - BDRVQcowState *s = bs->opaque;
> - int ret, refcount_table_size2, i;
> -
> - refcount_table_size2 = s->refcount_table_size * sizeof(uint64_t);
> - s->refcount_table = g_malloc(refcount_table_size2);
> - if (s->refcount_table_size > 0) {
> - BLKDBG_EVENT(bs->file, BLKDBG_REFTABLE_LOAD);
> - ret = bdrv_pread(bs->file, s->refcount_table_offset,
> - s->refcount_table, refcount_table_size2);
> - if (ret != refcount_table_size2)
> + int ret, size2, i;
> +
> + size2 = size * sizeof(uint64_t);
> + *table = g_malloc(size2);
> + if (size > 0) {
> + if (is_refcount) {
> + BLKDBG_EVENT(bs->file, BLKDBG_REFTABLE_LOAD);
> + }
Please add a blkdebug event for dedup table loading.
- Re: [Qemu-devel] [RFC V6 05/33] qcow2: Make update_refcount public., (continued)
- [Qemu-devel] [RFC V6 11/33] qcow2: Add qcow2_dedup_grow_table and use it., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 12/33] qcow2: Makes qcow2_alloc_cluster_link_l2 mark to deduplicate clusters., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 17/33] qcow2-cache: Allow to choose table size at creation., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 15/33] qcow2: Load and save deduplication table header extension., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 18/33] qcow2: Extract qcow2_add_feature and qcow2_remove_feature., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 16/33] qcow2: Extract qcow2_do_table_init., Benoît Canet, 2013/02/06
- Re: [Qemu-devel] [RFC V6 16/33] qcow2: Extract qcow2_do_table_init.,
Stefan Hajnoczi <=
- [Qemu-devel] [RFC V6 20/33] qcow2: Add a deduplication boolean to update_refcount., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 21/33] qcow2: Drop hash for a given cluster when dedup makes refcount > 2^16/2., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 22/33] qcow2: Remove hash when cluster is deleted., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 19/33] block: Add qcow2_dedup format and image creation code., Benoît Canet, 2013/02/06
- [Qemu-devel] [RFC V6 25/33] qcow2: Serialize write requests when deduplication is activated., Benoît Canet, 2013/02/06