[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 00/69] Block patches for softfreeze
From: |
Max Reitz |
Subject: |
[PULL 00/69] Block patches for softfreeze |
Date: |
Mon, 28 Oct 2019 13:13:52 +0100 |
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
- [PULL 00/69] Block patches for softfreeze,
Max Reitz <=
- [PULL 01/69] iotests: Prefer null-co over null-aio, Max Reitz, 2019/10/28
- [PULL 02/69] iotests: Allow skipping test cases, Max Reitz, 2019/10/28
- [PULL 03/69] iotests: Use case_skip() in skip_if_unsupported(), Max Reitz, 2019/10/28
- [PULL 06/69] iotests: Test driver whitelisting in 136, Max Reitz, 2019/10/28
- [PULL 04/69] iotests: Let skip_if_unsupported accept a function, Max Reitz, 2019/10/28
- [PULL 08/69] hbitmap: handle set/reset with zero length, Max Reitz, 2019/10/28
- [PULL 05/69] iotests: Test driver whitelisting in 093, Max Reitz, 2019/10/28
- [PULL 07/69] iotests: Cache supported_formats(), Max Reitz, 2019/10/28
- [PULL 09/69] block/mirror: simplify do_sync_target_write, Max Reitz, 2019/10/28
- [PULL 10/69] block/block-backend: add blk_co_pwritev_part, Max Reitz, 2019/10/28