mbox series

[0/2] Convert qcow2_get_cluster_offset() into qcow2_get_host_offset()

Message ID cover.1582828123.git.berto@igalia.com (mailing list archive)
Headers show
Series Convert qcow2_get_cluster_offset() into qcow2_get_host_offset() | expand

Message

Alberto Garcia Feb. 27, 2020, 6:34 p.m. UTC
Hi,

this is something I did while working on the subcluster series but
it's independent from it so I thought to send it already.

In short: qcow2_get_cluster_offset() returns a host cluster offset but
none of the callers actually wants the offset of the cluster, they
want the host offset into the cluster.

There's a pre-existing exception with compressed clusters. In this
case the returned value was overloaded to contain a cluster offset or
a compressed cluster descriptor, depending on the cluster type. This
is kind of ugly, and we could make it more explicit using a union or
something like that but I don't think it's worth the effort here, so I
just documented it.

Berto

Alberto Garcia (2):
  qcow2: Make Qcow2AioTask store the full host offset
  qcow2: Convert qcow2_get_cluster_offset() into qcow2_get_host_offset()

 block/qcow2.h         |  4 +--
 block/qcow2-cluster.c | 38 ++++++++++++----------
 block/qcow2.c         | 74 ++++++++++++++++++-------------------------
 3 files changed, 55 insertions(+), 61 deletions(-)

Comments

Alberto Garcia March 17, 2020, 6:39 p.m. UTC | #1
On Thu 27 Feb 2020 07:34:24 PM CET, Alberto Garcia wrote:
> Hi,
>
> this is something I did while working on the subcluster series but
> it's independent from it so I thought to send it already.

I included this patches in v4 of the main series so you can ignore this
thread.

Berto