qemu-devel
[Top][All Lists]
Advanced

[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.



reply via email to

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