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