From: Max Reitz <mreitz@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
"Benoît Canet" <benoit@irqsave.net>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Max Reitz" <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH v2 0/7] block/qcow2: Improve zero cluster expansion
Date: Sat, 2 Aug 2014 01:49:14 +0200 [thread overview]
Message-ID: <1406936961-20356-1-git-send-email-mreitz@redhat.com> (raw)
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).
This v2 is based on the "alt" (alternative) variant of v1 of this series.
This series depends on v2 of my "qemu-img: Allow source cache mode
specification" series.
Changes from v1:
- Patch 1:
- Drop unnecessary -Wunused-parameter silencing statement (that
warning is not enabled) [Benoît]
- The BlockDriverAmendStatusCB function takes parameters of an
arbitrary unit; document that [Benoît and Eric]
- Patch 2:
- Add documentation for the new parameter [Eric]
- Drop unnecessary -Wunused-parameter silencing statement [Benoît]
- Patch 3: Fixed commit message [Eric]
- Patch 4:
- Fixed comment [Eric]
- As the BlockDriverAmendStatusCB function does no longer have to be
called with byte values, cancel common factor out [Benoît]
- Call the status CB after having passed an empty L1 entry as well
- Patch 5: qcow2_get_refcount() may be called with any addend; remove
the artificial restriction from the documenting comment
- Patch 7:
- Drop unnecessary L2 COW enforcing write [Benoît]
- Since the status CB is now called after empty L1 entries, too, the
progress output is more fine-grained (every L1 entry results in a
progress increase)
git-upstream-diff output against v1 alt:
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:[0005] [FC] 'block: Add status callback to bdrv_amend_options()'
002/7:[0007] [FC] 'qemu-img: Add progress output for amend'
003/7:[down] 'qemu-img: Fix insignificant memleak'
^^^^ false negative due to the fixed commit message
(actually [----] [--])
004/7:[0011] [FC] 'block/qcow2: Implement status CB for amend'
005/7:[0003] [FC] 'block/qcow2: Make get_refcount() global'
006/7:[----] [-C] 'block/qcow2: Simplify shared L2 handling in amend'
007/7:[0008] [FC] '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 | 115 ++++++++++++++++++++++-----------------------
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, 174 insertions(+), 90 deletions(-)
--
2.0.3
next reply other threads:[~2014-08-01 23:49 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 23:49 Max Reitz [this message]
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 1/7] block: Add status callback to bdrv_amend_options() Max Reitz
2014-08-04 9:19 ` Benoît Canet
2014-08-05 13:03 ` Eric Blake
2014-08-15 11:10 ` Benoît Canet
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 2/7] qemu-img: Add progress output for amend Max Reitz
2014-08-04 9:21 ` Benoît Canet
2014-08-05 13:04 ` Eric Blake
2014-08-15 11:18 ` Benoît Canet
2014-08-15 13:06 ` Max Reitz
2014-08-15 13:30 ` Benoît Canet
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 3/7] qemu-img: Fix insignificant memleak Max Reitz
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 4/7] block/qcow2: Implement status CB for amend Max Reitz
2014-08-04 9:29 ` Benoît Canet
2014-08-05 13:11 ` Eric Blake
2014-08-15 11:26 ` Benoît Canet
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 5/7] block/qcow2: Make get_refcount() global Max Reitz
2014-08-04 9:31 ` Benoît Canet
2014-08-05 13:18 ` Eric Blake
2014-08-15 11:27 ` Benoît Canet
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 6/7] block/qcow2: Simplify shared L2 handling in amend Max Reitz
2014-08-04 9:32 ` Benoît Canet
2014-08-05 13:27 ` Eric Blake
2014-08-15 11:50 ` Benoît Canet
2014-08-01 23:49 ` [Qemu-devel] [PATCH v2 7/7] iotests: Expand test 061 Max Reitz
2014-08-05 13:28 ` Eric Blake
2014-08-15 11:52 ` Benoît Canet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1406936961-20356-1-git-send-email-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=benoit@irqsave.net \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).