:p
atchew
Login
The following changes since commit 6972ef1440a9d685482d78672620a7482f2bd09a: Merge tag 'pull-tcg-20230516-3' of https://gitlab.com/rth7680/qemu into staging (2023-05-16 21:30:27 -0700) are available in the Git repository at: https://repo.or.cz/qemu/kevin.git tags/for-upstream for you to fetch changes up to c1bc2467c25ae2b846eeb5d338d1c697c6f83833: iotests: Test commit with iothreads and ongoing I/O (2023-05-19 11:32:19 +0200) ---------------------------------------------------------------- Block layer patches - qcow2 spec: Rename "zlib" compression to "deflate" - Honour graph read lock even in the main thread + prerequisite fixes - aio-posix: do not nest poll handlers (fixes infinite recursion) - Refactor QMP blockdev transactions - graph-lock: Disable locking for now - iotests/245: Check if 'compress' driver is available ---------------------------------------------------------------- Akihiro Suda (1): docs/interop/qcow2.txt: fix description about "zlib" clusters Kevin Wolf (12): block: Call .bdrv_co_create(_opts) unlocked block/export: Fix null pointer dereference in error path qcow2: Unlock the graph in qcow2_do_open() where necessary qemu-img: Take graph lock more selectively test-bdrv-drain: Take graph lock more selectively test-bdrv-drain: Call bdrv_co_unref() in coroutine context blockjob: Adhere to rate limit even when reentered early graph-lock: Honour read locks even in the main thread iotests/245: Check if 'compress' driver is available graph-lock: Disable locking for now nbd/server: Fix drained_poll to wake coroutine in right AioContext iotests: Test commit with iothreads and ongoing I/O Stefan Hajnoczi (2): aio-posix: do not nest poll handlers tested: add test for nested aio_poll() in poll handlers Vladimir Sementsov-Ogievskiy (6): blockdev: refactor transaction to use Transaction API blockdev: transactions: rename some things blockdev: qmp_transaction: refactor loop to classic for blockdev: transaction: refactor handling transaction properties blockdev: use state.bitmap in block-dirty-bitmap-add action blockdev: qmp_transaction: drop extra generic layer docs/interop/qcow2.txt | 10 +- include/block/block-global-state.h | 8 +- include/block/block_int-common.h | 4 +- include/block/blockjob_int.h | 14 +- include/io/channel.h | 10 + block.c | 1 - block/commit.c | 7 +- block/create.c | 1 - block/crypto.c | 25 +- block/export/export.c | 6 +- block/graph-lock.c | 31 +- block/mirror.c | 23 +- block/parallels.c | 6 +- block/qcow.c | 6 +- block/qcow2.c | 43 +- block/qed.c | 6 +- block/raw-format.c | 2 +- block/stream.c | 7 +- block/vdi.c | 11 +- block/vhdx.c | 8 +- block/vmdk.c | 27 +- block/vpc.c | 6 +- blockdev.c | 606 +++++++++------------ blockjob.c | 22 +- io/channel.c | 33 +- nbd/server.c | 3 +- qemu-img.c | 5 +- tests/unit/test-bdrv-drain.c | 6 +- tests/unit/test-nested-aio-poll.c | 130 +++++ util/aio-posix.c | 11 + tests/qemu-iotests/iotests.py | 4 + tests/qemu-iotests/245 | 7 +- tests/qemu-iotests/245.out | 9 +- tests/qemu-iotests/tests/graph-changes-while-io | 56 +- .../qemu-iotests/tests/graph-changes-while-io.out | 4 +- tests/unit/meson.build | 5 +- 36 files changed, 661 insertions(+), 502 deletions(-) create mode 100644 tests/unit/test-nested-aio-poll.c
The following changes since commit 13356edb87506c148b163b8c7eb0695647d00c2a: Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2023-01-24 09:45:33 +0000) are available in the Git repository at: https://repo.or.cz/qemu/kevin.git tags/for-upstream for you to fetch changes up to d570177b50c389f379f93183155a27d44856ab46: qemu-img: Change info key names for protocol nodes (2023-02-01 16:52:33 +0100) v4: - Fixed the 'qemu-img-close-errors' test case to run only on Linux and only with the file protocol, use qemu-io instead of truncate v3: - Make the compiler happier on BSD and CentOS Stream 8 v2: - Rebased to resolve merge conflicts in coroutine.h ---------------------------------------------------------------- Block layer patches - qemu-img info: Show protocol-level information - Move more functions to coroutines - Make coroutine annotations ready for static analysis - qemu-img: Fix exit code for errors closing the image - qcow2 bitmaps: Fix theoretical corruption in error path - pflash: Only load non-zero parts of backend image to save memory - Code cleanup and test case improvements ---------------------------------------------------------------- Alberto Faria (2): coroutine: annotate coroutine_fn for libclang block: Add no_coroutine_fn and coroutine_mixed_fn marker Emanuele Giuseppe Esposito (14): block-coroutine-wrapper: support void functions block: Convert bdrv_io_plug() to co_wrapper block: Convert bdrv_io_unplug() to co_wrapper block: Convert bdrv_is_inserted() to co_wrapper block: Rename refresh_total_sectors to bdrv_refresh_total_sectors block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed block-backend: use bdrv_getlength instead of blk_getlength block: use bdrv_co_refresh_total_sectors when possible block: Convert bdrv_get_allocated_file_size() to co_wrapper block: Convert bdrv_get_info() to co_wrapper_mixed block: Convert bdrv_eject() to co_wrapper block: Convert bdrv_lock_medium() to co_wrapper block: Convert bdrv_debug_event() to co_wrapper_mixed block: Rename bdrv_load/save_vmstate() to bdrv_co_load/save_vmstate() Hanna Reitz (12): block: Improve empty format-specific info dump block/file: Add file-specific image info block/vmdk: Change extent info type block: Split BlockNodeInfo off of ImageInfo qemu-img: Use BlockNodeInfo block/qapi: Let bdrv_query_image_info() recurse block/qapi: Introduce BlockGraphInfo block/qapi: Add indentation to bdrv_node_info_dump() iotests: Filter child node information iotests/106, 214, 308: Read only one size line qemu-img: Let info print block graph qemu-img: Change info key names for protocol nodes Kevin Wolf (4): qcow2: Fix theoretical corruption in store_bitmap() error path qemu-img commit: Report errors while closing the image qemu-img bitmap: Report errors while closing the image qemu-iotests: Test qemu-img bitmap/commit exit code on error Paolo Bonzini (2): qemu-io: do not reinvent the blk_pwrite_zeroes wheel block: remove bdrv_coroutine_enter Philippe Mathieu-Daudé (1): block/nbd: Add missing <qemu/bswap.h> include Thomas Huth (2): tests/qemu-iotests/312: Mark "quorum" as required driver tests/qemu-iotests/262: Check for availability of "blkverify" first Xiang Zheng (1): pflash: Only read non-zero parts of backend image qapi/block-core.json | 123 +++++++- include/block/block-common.h | 11 +- include/block/block-io.h | 41 ++- include/block/block_int-common.h | 26 +- include/block/block_int-io.h | 5 +- include/block/nbd.h | 1 + include/block/qapi.h | 14 +- include/qemu/osdep.h | 44 +++ include/sysemu/block-backend-io.h | 31 +- block.c | 88 +++--- block/blkdebug.c | 11 +- block/blkio.c | 15 +- block/blklogwrites.c | 6 +- block/blkreplay.c | 6 +- block/blkverify.c | 6 +- block/block-backend.c | 38 +-- block/commit.c | 4 +- block/copy-on-read.c | 18 +- block/crypto.c | 14 +- block/curl.c | 10 +- block/file-posix.c | 137 +++++---- block/file-win32.c | 18 +- block/filter-compress.c | 20 +- block/gluster.c | 23 +- block/io.c | 76 ++--- block/iscsi.c | 17 +- block/mirror.c | 6 +- block/monitor/block-hmp-cmds.c | 2 +- block/nbd.c | 8 +- block/nfs.c | 4 +- block/null.c | 13 +- block/nvme.c | 14 +- block/preallocate.c | 16 +- block/qapi.c | 317 ++++++++++++++++----- block/qcow.c | 5 +- block/qcow2-bitmap.c | 5 +- block/qcow2-refcount.c | 2 +- block/qcow2.c | 17 +- block/qed.c | 11 +- block/quorum.c | 8 +- block/raw-format.c | 25 +- block/rbd.c | 9 +- block/replication.c | 6 +- block/ssh.c | 4 +- block/throttle.c | 6 +- block/vdi.c | 7 +- block/vhdx.c | 5 +- block/vmdk.c | 22 +- block/vpc.c | 5 +- blockdev.c | 8 +- hw/block/block.c | 36 ++- hw/scsi/scsi-disk.c | 5 + qemu-img.c | 100 +++++-- qemu-io-cmds.c | 62 +--- tests/unit/test-block-iothread.c | 3 + scripts/block-coroutine-wrapper.py | 20 +- tests/qemu-iotests/iotests.py | 18 +- block/meson.build | 1 + tests/qemu-iotests/065 | 2 +- tests/qemu-iotests/106 | 4 +- tests/qemu-iotests/214 | 6 +- tests/qemu-iotests/262 | 3 +- tests/qemu-iotests/302.out | 5 + tests/qemu-iotests/308 | 4 +- tests/qemu-iotests/312 | 1 + tests/qemu-iotests/common.filter | 22 +- tests/qemu-iotests/common.rc | 22 +- tests/qemu-iotests/tests/qemu-img-close-errors | 96 +++++++ tests/qemu-iotests/tests/qemu-img-close-errors.out | 23 ++ 69 files changed, 1209 insertions(+), 552 deletions(-) create mode 100755 tests/qemu-iotests/tests/qemu-img-close-errors create mode 100644 tests/qemu-iotests/tests/qemu-img-close-errors.out