From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37993) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XihIQ-0003nU-2a for qemu-devel@nongnu.org; Mon, 27 Oct 2014 06:13:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XihIJ-00062a-Ne for qemu-devel@nongnu.org; Mon, 27 Oct 2014 06:13:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47812) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XihIJ-00062W-Ew for qemu-devel@nongnu.org; Mon, 27 Oct 2014 06:12:59 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s9RACws3004857 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 27 Oct 2014 06:12:58 -0400 From: Max Reitz Date: Mon, 27 Oct 2014 11:12:49 +0100 Message-Id: <1414404776-4919-1-git-send-email-mreitz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v4 0/7] block/qcow2: Improve zero cluster expansion List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Max Reitz The main purpose of this series is to add a progress report to qemu-img amend. This is achieved by adding a callback function to bdrv_amend_options() - the reasons for this choice are explained in patch 1. While adapting qcow2's expand_zero_clusters_in_l1() accordingly, I noticed a way to simplify it and get rid of the rather ugly bitmap used there (patch 6). Changes from v3 (v4 is a rebase of v3 on current master) - Patch 2: There is BlockBackend now (only contextual) - Patch 4: An instance of g_try_malloc0() instead of g_malloc0() (only contextual) - Patch 5: Changes in the qcow2 check functions due to my "qcow2: Fix image repairing" series (only contextual) - Patch 6: Originally, contained a hunk which removed a g_malloc0() and the buffer size calculation before it; now, it's a g_try_malloc0() and therefore the hunk has to remove the error handling as well. This is a functional change, but I decided to keep the R-bs anyway because it is really straightforward. Since with the exception of patch 6 all of these were contextual changes (and the change to patch 6 was really straightforward), I kept all the Reviewed-bys and this series is therefore still fully reviewed. git-backport-diff against v3: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/7:[----] [--] 'block: Add status callback to bdrv_amend_options()' 002/7:[----] [-C] 'qemu-img: Add progress output for amend' 003/7:[----] [--] 'qemu-img: Fix insignificant memleak' 004/7:[----] [-C] 'block/qcow2: Implement status CB for amend' 005/7:[----] [-C] 'block/qcow2: Make get_refcount() global' 006/7:[0006] [FC] 'block/qcow2: Simplify shared L2 handling in amend' 007/7:[----] [--] 'iotests: Expand test 061' Max Reitz (7): block: Add status callback to bdrv_amend_options() qemu-img: Add progress output for amend qemu-img: Fix insignificant memleak block/qcow2: Implement status CB for amend block/qcow2: Make get_refcount() global block/qcow2: Simplify shared L2 handling in amend iotests: Expand test 061 block.c | 5 +- block/qcow2-cluster.c | 117 +++++++++++++++++++++------------------------ block/qcow2-refcount.c | 26 +++++----- block/qcow2.c | 10 ++-- block/qcow2.h | 5 +- include/block/block.h | 8 +++- include/block/block_int.h | 3 +- qemu-img-cmds.hx | 4 +- qemu-img.c | 29 +++++++++-- qemu-img.texi | 2 +- tests/qemu-iotests/061 | 25 ++++++++++ tests/qemu-iotests/061.out | 30 ++++++++++++ tests/qemu-iotests/group | 2 +- 13 files changed, 173 insertions(+), 93 deletions(-) -- 1.9.3