[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 05/26] qcow2: Use unsigned addend for update_
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v5 05/26] qcow2: Use unsigned addend for update_refcount() |
Date: |
Thu, 22 Jan 2015 08:33:22 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
On 12/15/2014 05:50 AM, Max Reitz wrote:
> update_refcount() and qcow2_update_cluster_refcount() currently take a
> signed addend. At least one caller passes a value directly derived from
> an absolute refcount that should be reached ("l2_refcount - 1" in
> expand_zero_clusters_in_l1()). Therefore, the addend should be unsigned
> because unsigned overflow is well-defined in contrast to signed
> overflow. This will be especially important for 64 bit refcounts.
>
> Because update_refcount() then no longer knows whether the refcount
> should be increased or decreased (which is important for setting the
> refblock-L2-table cache dependency and for overflow/underflow checks),
> it now requires an additional flag which specified exactly that. The
> same applies to qcow2_update_cluster_refcount().
>
> Signed-off-by: Max Reitz <address@hidden>
> ---
> block/qcow2-cluster.c | 2 +-
> block/qcow2-refcount.c | 65
> ++++++++++++++++++++++++++++++++------------------
> block/qcow2.h | 3 ++-
> 3 files changed, 45 insertions(+), 25 deletions(-)
>
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v5 05/26] qcow2: Use unsigned addend for update_refcount(),
Eric Blake <=