From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: [PULL 00/69] Block patches for softfreeze
Date: Mon, 28 Oct 2019 13:13:52 +0100 [thread overview]
Message-ID: <20191028121501.15279-1-mreitz@redhat.com> (raw)
The following changes since commit 187f35512106501fe9a11057f4d8705431e0026d:
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-251019-3' into staging (2019-10-26 10:13:48 +0100)
are available in the Git repository at:
https://github.com/XanClic/qemu.git tags/pull-block-2019-10-28
for you to fetch changes up to ba9c45139e2938b8d20ce407db83a31bc9e5066c:
qemu-iotests: restrict 264 to qcow2 only (2019-10-28 13:09:43 +0100)
----------------------------------------------------------------
Block patches for softfreeze:
- iotest patches
- Improve performance of the mirror block job in write-blocking mode
- Limit memory usage for the backup block job
- Add discard and write-zeroes support to the NVMe host block driver
- Fix a bug in the mirror job
- Prevent the qcow2 driver from creating technically non-compliant qcow2
v3 images (where there is not enough extra data for snapshot table
entries)
- Allow callers of bdrv_truncate() (etc.) to determine whether the file
must be resized to the exact given size or whether it is OK for block
devices not to shrink
----------------------------------------------------------------
Max Reitz (55):
iotests: Prefer null-co over null-aio
iotests: Allow skipping test cases
iotests: Use case_skip() in skip_if_unsupported()
iotests: Let skip_if_unsupported accept a function
iotests: Test driver whitelisting in 093
iotests: Test driver whitelisting in 136
iotests: Cache supported_formats()
iotests: Introduce $SOCK_DIR
iotests.py: Store socket files in $SOCK_DIR
iotests.py: Add @base_dir to FilePaths etc.
iotests: Filter $SOCK_DIR
iotests: Let common.nbd create socket in $SOCK_DIR
iotests/083: Create socket in $SOCK_DIR
iotests/140: Create socket in $SOCK_DIR
iotests/143: Create socket in $SOCK_DIR
iotests/147: Create socket in $SOCK_DIR
iotests/181: Create socket in $SOCK_DIR
iotests/182: Create socket in $SOCK_DIR
iotests/183: Create socket in $SOCK_DIR
iotests/192: Create socket in $SOCK_DIR
iotests/194: Create sockets in $SOCK_DIR
iotests/201: Create socket in $SOCK_DIR
iotests/205: Create socket in $SOCK_DIR
iotests/208: Create socket in $SOCK_DIR
iotests/209: Create socket in $SOCK_DIR
iotests/222: Create socket in $SOCK_DIR
iotests/223: Create socket in $SOCK_DIR
iotests/240: Create socket in $SOCK_DIR
iotests/267: Create socket in $SOCK_DIR
iotests: Drop TEST_DIR filter from _filter_nbd
mirror: Do not dereference invalid pointers
include: Move endof() up from hw/virtio/virtio.h
qcow2: Use endof()
qcow2: Add Error ** to qcow2_read_snapshots()
qcow2: Keep unknown extra snapshot data
qcow2: Make qcow2_write_snapshots() public
qcow2: Put qcow2_upgrade() into its own function
qcow2: Write v3-compliant snapshot list on upgrade
qcow2: Separate qcow2_check_read_snapshot_table()
qcow2: Add qcow2_check_fix_snapshot_table()
qcow2: Fix broken snapshot table entries
qcow2: Keep track of the snapshot table length
qcow2: Fix overly long snapshot tables
qcow2: Repair snapshot table with too many entries
qcow2: Fix v3 snapshot table entry compliancy
iotests: Add peek_file* functions
iotests: Test qcow2's snapshot table handling
block: Handle filter truncation like native impl.
block/cor: Drop cor_co_truncate()
block: Do not truncate file node when formatting
block: Add @exact parameter to bdrv_co_truncate()
block: Evaluate @exact in protocol drivers
block: Let format drivers pass @exact
block: Pass truncate exact=true where reasonable
Revert "qemu-img: Check post-truncation size"
Maxim Levitsky (2):
block/nvme: add support for write zeros
block/nvme: add support for discard
Vladimir Sementsov-Ogievskiy (12):
hbitmap: handle set/reset with zero length
block/mirror: simplify do_sync_target_write
block/block-backend: add blk_co_pwritev_part
block/mirror: support unaligned write in active mirror
Revert "mirror: Only mirror granularity-aligned chunks"
block/block-copy: allocate buffer in block_copy_with_bounce_buffer
block/block-copy: limit copy_range_size to 16 MiB
block/block-copy: refactor copying
util: introduce SharedResource
block/block-copy: add memory limit
block/block-copy: increase buffered copy request
qemu-iotests: restrict 264 to qcow2 only
util/Makefile.objs | 1 +
block/qcow2.h | 17 +-
include/block/block-copy.h | 5 +-
include/block/block.h | 6 +-
include/block/block_int.h | 17 +-
include/block/nvme.h | 19 +-
include/hw/virtio/virtio.h | 7 -
include/qemu/co-shared-resource.h | 71 ++++
include/qemu/compiler.h | 7 +
include/sysemu/block-backend.h | 8 +-
block/block-backend.c | 23 +-
block/block-copy.c | 182 ++++++-----
block/commit.c | 5 +-
block/copy-on-read.c | 8 -
block/crypto.c | 8 +-
block/file-posix.c | 11 +-
block/file-win32.c | 3 +-
block/gluster.c | 1 +
block/io.c | 29 +-
block/iscsi.c | 10 +-
block/mirror.c | 198 +++++------
block/nfs.c | 2 +-
block/nvme.c | 155 ++++++++-
block/parallels.c | 18 +-
block/qcow.c | 9 +-
block/qcow2-refcount.c | 2 +-
block/qcow2-snapshot.c | 323 +++++++++++++++++-
block/qcow2.c | 200 +++++++++---
block/qed.c | 8 +-
block/raw-format.c | 5 +-
block/rbd.c | 1 +
block/sheepdog.c | 5 +-
block/ssh.c | 3 +-
block/vdi.c | 2 +-
block/vhdx-log.c | 4 +-
block/vhdx.c | 7 +-
block/vmdk.c | 8 +-
block/vpc.c | 2 +-
blockdev.c | 2 +-
hw/block/virtio-blk.c | 4 +-
hw/net/virtio-net.c | 10 +-
qemu-img.c | 46 +--
qemu-io-cmds.c | 7 +-
tests/test-block-iothread.c | 8 +-
util/hbitmap.c | 8 +
util/qemu-co-shared-resource.c | 76 +++++
block/trace-events | 9 +-
python/qemu/machine.py | 15 +-
python/qemu/qtest.py | 9 +-
tests/qemu-iotests/083 | 6 +-
tests/qemu-iotests/083.out | 34 +-
tests/qemu-iotests/093 | 19 +-
tests/qemu-iotests/136 | 14 +-
tests/qemu-iotests/140 | 8 +-
tests/qemu-iotests/140.out | 2 +-
tests/qemu-iotests/143 | 6 +-
tests/qemu-iotests/143.out | 2 +-
tests/qemu-iotests/147 | 2 +-
tests/qemu-iotests/181 | 2 +-
tests/qemu-iotests/182 | 4 +-
tests/qemu-iotests/183 | 2 +-
tests/qemu-iotests/192 | 4 +-
tests/qemu-iotests/192.out | 2 +-
tests/qemu-iotests/194 | 4 +-
tests/qemu-iotests/201 | 2 +-
tests/qemu-iotests/205 | 2 +-
tests/qemu-iotests/208 | 2 +-
tests/qemu-iotests/209 | 3 +-
tests/qemu-iotests/222 | 2 +-
tests/qemu-iotests/223 | 14 +-
tests/qemu-iotests/240 | 4 +-
tests/qemu-iotests/241 | 2 -
tests/qemu-iotests/245 | 2 +-
tests/qemu-iotests/261 | 523 ++++++++++++++++++++++++++++++
tests/qemu-iotests/261.out | 346 ++++++++++++++++++++
tests/qemu-iotests/264 | 2 +
tests/qemu-iotests/267 | 4 +-
tests/qemu-iotests/267.out | 2 +-
tests/qemu-iotests/check | 15 +-
tests/qemu-iotests/common.filter | 7 +-
tests/qemu-iotests/common.nbd | 2 +-
tests/qemu-iotests/common.rc | 20 ++
tests/qemu-iotests/group | 1 +
tests/qemu-iotests/iotests.py | 68 ++--
84 files changed, 2232 insertions(+), 486 deletions(-)
create mode 100644 include/qemu/co-shared-resource.h
create mode 100644 util/qemu-co-shared-resource.c
create mode 100755 tests/qemu-iotests/261
create mode 100644 tests/qemu-iotests/261.out
--
2.21.0
next reply other threads:[~2019-10-28 12:18 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-28 12:13 Max Reitz [this message]
2019-10-28 12:13 ` [PULL 01/69] iotests: Prefer null-co over null-aio Max Reitz
2019-10-28 12:13 ` [PULL 02/69] iotests: Allow skipping test cases Max Reitz
2019-10-28 12:13 ` [PULL 03/69] iotests: Use case_skip() in skip_if_unsupported() Max Reitz
2019-10-28 12:13 ` [PULL 04/69] iotests: Let skip_if_unsupported accept a function Max Reitz
2019-10-28 12:13 ` [PULL 05/69] iotests: Test driver whitelisting in 093 Max Reitz
2019-10-28 12:13 ` [PULL 06/69] iotests: Test driver whitelisting in 136 Max Reitz
2019-10-28 12:13 ` [PULL 07/69] iotests: Cache supported_formats() Max Reitz
2019-10-28 12:14 ` [PULL 08/69] hbitmap: handle set/reset with zero length Max Reitz
2019-10-28 12:14 ` [PULL 09/69] block/mirror: simplify do_sync_target_write Max Reitz
2019-10-28 12:14 ` [PULL 10/69] block/block-backend: add blk_co_pwritev_part Max Reitz
2019-10-28 12:14 ` [PULL 11/69] block/mirror: support unaligned write in active mirror Max Reitz
2019-10-28 12:14 ` [PULL 12/69] Revert "mirror: Only mirror granularity-aligned chunks" Max Reitz
2019-10-28 12:14 ` [PULL 13/69] iotests: Introduce $SOCK_DIR Max Reitz
2019-10-28 12:14 ` [PULL 14/69] iotests.py: Store socket files in $SOCK_DIR Max Reitz
2019-10-28 12:14 ` [PULL 15/69] iotests.py: Add @base_dir to FilePaths etc Max Reitz
2019-10-28 12:14 ` [PULL 16/69] iotests: Filter $SOCK_DIR Max Reitz
2019-10-28 12:14 ` [PULL 17/69] iotests: Let common.nbd create socket in $SOCK_DIR Max Reitz
2019-10-28 12:14 ` [PULL 18/69] iotests/083: Create " Max Reitz
2019-10-28 12:14 ` [PULL 19/69] iotests/140: " Max Reitz
2019-10-28 12:14 ` [PULL 20/69] iotests/143: " Max Reitz
2019-10-28 12:14 ` [PULL 21/69] iotests/147: " Max Reitz
2019-10-28 12:14 ` [PULL 22/69] iotests/181: " Max Reitz
2019-10-28 12:14 ` [PULL 23/69] iotests/182: " Max Reitz
2019-10-28 12:14 ` [PULL 24/69] iotests/183: " Max Reitz
2019-10-28 12:14 ` [PULL 25/69] iotests/192: " Max Reitz
2019-10-28 12:14 ` [PULL 26/69] iotests/194: Create sockets " Max Reitz
2019-10-28 12:14 ` [PULL 27/69] iotests/201: Create socket " Max Reitz
2019-10-28 12:14 ` [PULL 28/69] iotests/205: " Max Reitz
2019-10-28 12:14 ` [PULL 29/69] iotests/208: " Max Reitz
2019-10-28 12:14 ` [PULL 30/69] iotests/209: " Max Reitz
2019-10-28 12:14 ` [PULL 31/69] iotests/222: " Max Reitz
2019-10-28 12:14 ` [PULL 32/69] iotests/223: " Max Reitz
2019-10-28 12:14 ` [PULL 33/69] iotests/240: " Max Reitz
2019-10-28 12:14 ` [PULL 34/69] iotests/267: " Max Reitz
2019-10-28 12:14 ` [PULL 35/69] iotests: Drop TEST_DIR filter from _filter_nbd Max Reitz
2019-10-28 12:14 ` [PULL 36/69] block/block-copy: allocate buffer in block_copy_with_bounce_buffer Max Reitz
2019-10-28 12:14 ` [PULL 37/69] block/block-copy: limit copy_range_size to 16 MiB Max Reitz
2019-10-28 12:14 ` [PULL 38/69] block/block-copy: refactor copying Max Reitz
2019-10-28 12:14 ` [PULL 39/69] util: introduce SharedResource Max Reitz
2019-10-28 12:14 ` [PULL 40/69] block/block-copy: add memory limit Max Reitz
2019-10-28 12:14 ` [PULL 41/69] block/block-copy: increase buffered copy request Max Reitz
2019-10-28 12:14 ` [PULL 42/69] block/nvme: add support for write zeros Max Reitz
2019-10-28 12:14 ` [PULL 43/69] block/nvme: add support for discard Max Reitz
2019-10-28 12:14 ` [PULL 44/69] mirror: Do not dereference invalid pointers Max Reitz
2019-10-28 12:14 ` [PULL 45/69] include: Move endof() up from hw/virtio/virtio.h Max Reitz
2019-10-28 12:14 ` [PULL 46/69] qcow2: Use endof() Max Reitz
2019-10-28 12:14 ` [PULL 47/69] qcow2: Add Error ** to qcow2_read_snapshots() Max Reitz
2019-10-28 12:14 ` [PULL 48/69] qcow2: Keep unknown extra snapshot data Max Reitz
2019-10-28 12:14 ` [PULL 49/69] qcow2: Make qcow2_write_snapshots() public Max Reitz
2019-10-28 12:14 ` [PULL 50/69] qcow2: Put qcow2_upgrade() into its own function Max Reitz
2019-10-28 12:14 ` [PULL 51/69] qcow2: Write v3-compliant snapshot list on upgrade Max Reitz
2019-10-28 12:14 ` [PULL 52/69] qcow2: Separate qcow2_check_read_snapshot_table() Max Reitz
2019-10-28 12:14 ` [PULL 53/69] qcow2: Add qcow2_check_fix_snapshot_table() Max Reitz
2019-10-28 12:14 ` [PULL 54/69] qcow2: Fix broken snapshot table entries Max Reitz
2019-10-28 12:14 ` [PULL 55/69] qcow2: Keep track of the snapshot table length Max Reitz
2019-10-28 12:14 ` [PULL 56/69] qcow2: Fix overly long snapshot tables Max Reitz
2019-10-28 12:14 ` [PULL 57/69] qcow2: Repair snapshot table with too many entries Max Reitz
2019-10-28 12:14 ` [PULL 58/69] qcow2: Fix v3 snapshot table entry compliancy Max Reitz
2019-10-28 12:14 ` [PULL 59/69] iotests: Add peek_file* functions Max Reitz
2019-10-28 12:14 ` [PULL 60/69] iotests: Test qcow2's snapshot table handling Max Reitz
2019-10-28 12:14 ` [PULL 61/69] block: Handle filter truncation like native impl Max Reitz
2019-10-28 12:14 ` [PULL 62/69] block/cor: Drop cor_co_truncate() Max Reitz
2019-10-28 12:14 ` [PULL 63/69] block: Do not truncate file node when formatting Max Reitz
2019-10-28 12:14 ` [PULL 64/69] block: Add @exact parameter to bdrv_co_truncate() Max Reitz
2019-10-28 12:14 ` [PULL 65/69] block: Evaluate @exact in protocol drivers Max Reitz
2019-10-28 12:14 ` [PULL 66/69] block: Let format drivers pass @exact Max Reitz
2019-10-28 12:14 ` [PULL 67/69] block: Pass truncate exact=true where reasonable Max Reitz
2019-10-28 12:15 ` [PULL 68/69] Revert "qemu-img: Check post-truncation size" Max Reitz
2019-10-28 12:15 ` [PULL 69/69] qemu-iotests: restrict 264 to qcow2 only Max Reitz
2019-10-28 21:13 ` [PULL 00/69] Block patches for softfreeze Peter Maydell
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=20191028121501.15279-1-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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).