qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>
Subject: [Qemu-devel] [PATCH v4 00/16] block: Preallocated truncate
Date: Tue, 13 Jun 2017 22:20:51 +0200	[thread overview]
Message-ID: <20170613202107.10125-1-mreitz@redhat.com> (raw)

=== 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

-- 
2.9.4

             reply	other threads:[~2017-06-13 20:21 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-13 20:20 Max Reitz [this message]
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

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=20170613202107.10125-1-mreitz@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).