From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Eric Blake <eblake@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Kevin Wolf <kwolf@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 00/16] block: Preallocated truncate
Date: Sun, 9 Jul 2017 22:16:20 +0200 [thread overview]
Message-ID: <56ecd1e3-8efb-c810-37d4-36c4b68b8ac0@redhat.com> (raw)
In-Reply-To: <20170613202107.10125-1-mreitz@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 5298 bytes --]
On 2017-06-13 22:20, Max Reitz wrote:
> === Series dependencies ===
>
> This series depends on v7 of Stefan's series
> "qemu-img: add measure sub-command"
> (http://lists.nongnu.org/archive/html/qemu-devel/2017-06/msg03035.html).
>
>
> === Actual cover letter ===
>
> This series adds preallocation to bdrv_truncate() and subsequently
> qemu-img resize. This is implemented for qcow2 and raw only, just like
> preallocation for newly created images is. There is no runtime interface
> for this new parameter (yet).
>
>
> v4:
> - Patch 4:
> - Note bug fix in commit message [Eric]
> - "...may result in *slightly* more data being allocated..." [Eric]
> - Patch 11:
> - Drop the "image may now occupy more space than necessary" note --
> that's always the case when preallocation failed, and I don't really
> want to mention it everywhere
> - Flush metadata after preallocation [Stefan]
>
>
> 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/16:[----] [--] 'block: Add PreallocMode to BD.bdrv_truncate()'
> 002/16:[----] [--] 'block: Add PreallocMode to bdrv_truncate()'
> 003/16:[----] [--] 'block: Add PreallocMode to blk_truncate()'
> 004/16:[0002] [FC] 'qemu-img: Expose PreallocMode for resizing'
> 005/16:[----] [--] 'block/file-posix: Small fixes in raw_create()'
> 006/16:[----] [--] 'block/file-posix: Extract raw_regular_truncate()'
> 007/16:[----] [--] 'block/file-posix: Generalize raw_regular_truncate'
> 008/16:[----] [--] 'block/file-posix: Preallocation for truncate'
> 009/16:[----] [--] 'block/qcow2: Generalize preallocate()'
> 010/16:[----] [--] 'block/qcow2: Lock s->lock in preallocate()'
> 011/16:[0013] [FC] 'block/qcow2: Metadata preallocation for truncate'
> 012/16:[----] [--] 'block/qcow2: Add qcow2_refcount_area()'
> 013/16:[----] [--] 'block/qcow2: Rename "fail_block" to just "fail"'
> 014/16:[----] [--] 'block/qcow2: falloc/full preallocating growth'
> 015/16:[----] [--] 'iotests: Add preallocated resize test for raw'
> 016/16:[----] [--] 'iotests: Add preallocated growth test for qcow2'
>
>
> Max Reitz (16):
> block: Add PreallocMode to BD.bdrv_truncate()
> block: Add PreallocMode to bdrv_truncate()
> block: Add PreallocMode to blk_truncate()
> qemu-img: Expose PreallocMode for resizing
> block/file-posix: Small fixes in raw_create()
> block/file-posix: Extract raw_regular_truncate()
> block/file-posix: Generalize raw_regular_truncate
> block/file-posix: Preallocation for truncate
> block/qcow2: Generalize preallocate()
> block/qcow2: Lock s->lock in preallocate()
> block/qcow2: Metadata preallocation for truncate
> block/qcow2: Add qcow2_refcount_area()
> block/qcow2: Rename "fail_block" to just "fail"
> block/qcow2: falloc/full preallocating growth
> iotests: Add preallocated resize test for raw
> iotests: Add preallocated growth test for qcow2
>
> block/qcow2.h | 9 +
> include/block/block.h | 3 +-
> include/block/block_int.h | 3 +-
> include/sysemu/block-backend.h | 3 +-
> block.c | 5 +-
> block/blkdebug.c | 5 +-
> block/block-backend.c | 5 +-
> block/commit.c | 4 +-
> block/crypto.c | 4 +-
> block/file-posix.c | 201 +++++++++++++--------
> block/file-win32.c | 9 +-
> block/gluster.c | 8 +-
> block/iscsi.c | 9 +-
> block/mirror.c | 3 +-
> block/nfs.c | 9 +-
> block/parallels.c | 13 +-
> block/qcow.c | 8 +-
> block/qcow2-refcount.c | 277 +++++++++++++++++++----------
> block/qcow2.c | 205 +++++++++++++++++++---
> block/qed.c | 11 +-
> block/raw-format.c | 5 +-
> block/rbd.c | 9 +-
> block/sheepdog.c | 11 +-
> block/vdi.c | 3 +-
> block/vhdx-log.c | 2 +-
> block/vhdx.c | 8 +-
> block/vmdk.c | 7 +-
> block/vpc.c | 2 +-
> blockdev.c | 2 +-
> qemu-img.c | 33 +++-
> qemu-io-cmds.c | 2 +-
> qemu-img.texi | 7 +-
> tests/qemu-iotests/044.out | 2 +-
> tests/qemu-iotests/106 | 92 ++++++++++
> tests/qemu-iotests/106.out | 50 ++++++
> tests/qemu-iotests/125 | 130 ++++++++++++++
> tests/qemu-iotests/125.out | 386 +++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/group | 2 +
> 38 files changed, 1313 insertions(+), 234 deletions(-)
> create mode 100755 tests/qemu-iotests/106
> create mode 100644 tests/qemu-iotests/106.out
> create mode 100755 tests/qemu-iotests/125
> create mode 100644 tests/qemu-iotests/125.out
Applied to my block tree:
https://github.com/XanClic/qemu/commits/block
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 498 bytes --]
prev parent reply other threads:[~2017-07-09 20:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-13 20:20 [Qemu-devel] [PATCH v4 00/16] block: Preallocated truncate Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 01/16] block: Add PreallocMode to BD.bdrv_truncate() Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 02/16] block: Add PreallocMode to bdrv_truncate() Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 03/16] block: Add PreallocMode to blk_truncate() Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 04/16] qemu-img: Expose PreallocMode for resizing Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 05/16] block/file-posix: Small fixes in raw_create() Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 06/16] block/file-posix: Extract raw_regular_truncate() Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 07/16] block/file-posix: Generalize raw_regular_truncate Max Reitz
2017-06-13 20:20 ` [Qemu-devel] [PATCH v4 08/16] block/file-posix: Preallocation for truncate Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 09/16] block/qcow2: Generalize preallocate() Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 10/16] block/qcow2: Lock s->lock in preallocate() Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 11/16] block/qcow2: Metadata preallocation for truncate Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 12/16] block/qcow2: Add qcow2_refcount_area() Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 13/16] block/qcow2: Rename "fail_block" to just "fail" Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 14/16] block/qcow2: falloc/full preallocating growth Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 15/16] iotests: Add preallocated resize test for raw Max Reitz
2017-06-13 20:21 ` [Qemu-devel] [PATCH v4 16/16] iotests: Add preallocated growth test for qcow2 Max Reitz
2017-06-19 15:02 ` [Qemu-devel] [PATCH v4 00/16] block: Preallocated truncate Stefan Hajnoczi
2017-07-09 20:16 ` Max Reitz [this message]
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=56ecd1e3-8efb-c810-37d4-36c4b68b8ac0@redhat.com \
--to=mreitz@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--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).