From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:51634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gz2wZ-0003kq-Cc for qemu-devel@nongnu.org; Wed, 27 Feb 2019 12:24:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gz2wY-0003pD-7p for qemu-devel@nongnu.org; Wed, 27 Feb 2019 12:24:31 -0500 From: Kevin Wolf Date: Wed, 27 Feb 2019 18:22:43 +0100 Message-Id: <20190227172256.30368-8-kwolf@redhat.com> In-Reply-To: <20190227172256.30368-1-kwolf@redhat.com> References: <20190227172256.30368-1-kwolf@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 07/20] qcow2: Prepare count_contiguous_clusters() for external data file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, mreitz@redhat.com, eblake@redhat.com, qemu-devel@nongnu.org Offset 0 can be valid for normal (allocated) clusters now, so use qcow2_get_cluster_type() instead. Signed-off-by: Kevin Wolf --- block/qcow2-cluster.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index 9cc8f0f3e4..660161bf00 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -389,12 +389,12 @@ static int count_contiguous_clusters(BlockDriverSta= te *bs, int nb_clusters, uint64_t first_entry =3D be64_to_cpu(l2_slice[0]); uint64_t offset =3D first_entry & mask; =20 - if (!offset) { + first_cluster_type =3D qcow2_get_cluster_type(bs, first_entry); + if (first_cluster_type =3D=3D QCOW2_CLUSTER_UNALLOCATED) { return 0; } =20 /* must be allocated */ - first_cluster_type =3D qcow2_get_cluster_type(bs, first_entry); assert(first_cluster_type =3D=3D QCOW2_CLUSTER_NORMAL || first_cluster_type =3D=3D QCOW2_CLUSTER_ZERO_ALLOC); =20 --=20 2.20.1