Re: [PULL 00/43] Block layer patches
Am 25.06.2020 um 10:39 hat Klaus Jensen geschrieben: > On Jun 18 15:30, Peter Maydell wrote: > > On Wed, 17 Jun 2020 at 15:49, Kevin Wolf wrote: > > > > > > The following changes since commit > > > 5c24bce3056ff209a1ecc50ff4b7e65b85ad8e74: > > > > > > Merge remote-tracking branch > > > 'remotes/stsquad/tags/pull-testing-and-plugin-160620-2' into staging > > > (2020-06-16 14:57:15 +0100) > > > > > > are available in the Git repository at: > > > > > > git://repo.or.cz/qemu/kevin.git tags/for-upstream > > > > > > for you to fetch changes up to 3419ec713f04c323b030e0763459435335b25476: > > > > > > iotests: Add copyright line in qcow2.py (2020-06-17 16:21:21 +0200) > > > > > > > > > Block layer patches: > > > > > > - enhance handling of size-related BlockConf properties > > > - nvme: small fixes, refactoring and cleanups > > > - virtio-blk: On restart, process queued requests in the proper context > > > - icount: make dma reads deterministic > > > - iotests: Some fixes for rarely run cases > > > - .gitignore: Ignore storage-daemon files > > > - Minor code cleanups > > > > > > > > > > > > Applied, thanks. > > > > Please update the changelog at https://wiki.qemu.org/ChangeLog/5.1 > > for any user-visible changes. > > > > Kevin, can you add soemthing like the following to the changelog under > "Block devices"? > > Emulated NVMe device (hw/block/nvme): > > * Add the max_ioqpairs device parameter. The parameter specifies the > maximum number of supported I/O queue pairs and should be used > instead of the num_queues parameter. num_queues is not formally > deprecated, but the device will issue a warning if used. If neither > num_queues or max_ioqpairs are specified, device behavior is > unchanged from the previous default. > > * Add the msix_qsize parameter. The parameter specifies the maximum > number of msix interrupt vectors supported by the device. If not > specified, device behavior is unchanged from the previous default. Sure, I've added this. If you want to have a wiki account so that you can edit the page yourself in the future, let me (or anyone else with a wiki account) know your preferred user name and we can create an account for you. Access is not supposed to be a privileged thing, we just require manual registration through an existing account to avoid spam. Kevin
Re: [PULL 00/43] Block layer patches
On Jun 18 15:30, Peter Maydell wrote: > On Wed, 17 Jun 2020 at 15:49, Kevin Wolf wrote: > > > > The following changes since commit 5c24bce3056ff209a1ecc50ff4b7e65b85ad8e74: > > > > Merge remote-tracking branch > > 'remotes/stsquad/tags/pull-testing-and-plugin-160620-2' into staging > > (2020-06-16 14:57:15 +0100) > > > > are available in the Git repository at: > > > > git://repo.or.cz/qemu/kevin.git tags/for-upstream > > > > for you to fetch changes up to 3419ec713f04c323b030e0763459435335b25476: > > > > iotests: Add copyright line in qcow2.py (2020-06-17 16:21:21 +0200) > > > > > > Block layer patches: > > > > - enhance handling of size-related BlockConf properties > > - nvme: small fixes, refactoring and cleanups > > - virtio-blk: On restart, process queued requests in the proper context > > - icount: make dma reads deterministic > > - iotests: Some fixes for rarely run cases > > - .gitignore: Ignore storage-daemon files > > - Minor code cleanups > > > > > > > Applied, thanks. > > Please update the changelog at https://wiki.qemu.org/ChangeLog/5.1 > for any user-visible changes. > Kevin, can you add soemthing like the following to the changelog under "Block devices"? Emulated NVMe device (hw/block/nvme): * Add the max_ioqpairs device parameter. The parameter specifies the maximum number of supported I/O queue pairs and should be used instead of the num_queues parameter. num_queues is not formally deprecated, but the device will issue a warning if used. If neither num_queues or max_ioqpairs are specified, device behavior is unchanged from the previous default. * Add the msix_qsize parameter. The parameter specifies the maximum number of msix interrupt vectors supported by the device. If not specified, device behavior is unchanged from the previous default.
Re: [PULL 00/43] Block layer patches
On Wed, 17 Jun 2020 at 15:49, Kevin Wolf wrote: > > The following changes since commit 5c24bce3056ff209a1ecc50ff4b7e65b85ad8e74: > > Merge remote-tracking branch > 'remotes/stsquad/tags/pull-testing-and-plugin-160620-2' into staging > (2020-06-16 14:57:15 +0100) > > are available in the Git repository at: > > git://repo.or.cz/qemu/kevin.git tags/for-upstream > > for you to fetch changes up to 3419ec713f04c323b030e0763459435335b25476: > > iotests: Add copyright line in qcow2.py (2020-06-17 16:21:21 +0200) > > > Block layer patches: > > - enhance handling of size-related BlockConf properties > - nvme: small fixes, refactoring and cleanups > - virtio-blk: On restart, process queued requests in the proper context > - icount: make dma reads deterministic > - iotests: Some fixes for rarely run cases > - .gitignore: Ignore storage-daemon files > - Minor code cleanups > > Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/5.1 for any user-visible changes. -- PMM
Re: [PULL 00/43] Block layer patches
Patchew URL: https://patchew.org/QEMU/20200617144909.192176-1-kw...@redhat.com/ Hi, This series failed the asan build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash export ARCH=x86_64 make docker-image-fedora V=1 NETWORK=1 time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1 === TEST SCRIPT END === LINKtests/qemu-iotests/socket_scm_helper GEN docs/interop/qemu-qmp-ref.html GEN docs/interop/qemu-qmp-ref.txt /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) GEN docs/interop/qemu-qmp-ref.7 CC qga/commands.o CC qga/guest-agent-command-state.o --- CC qemu-img.o AS pc-bios/optionrom/pvh.o CC pc-bios/optionrom/pvh_main.o /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) BUILD pc-bios/optionrom/multiboot.img BUILD pc-bios/optionrom/linuxboot.img BUILD pc-bios/optionrom/kvmvapic.img --- BUILD pc-bios/optionrom/pvh.raw SIGNpc-bios/optionrom/pvh.bin LINKfsdev/virtfs-proxy-helper /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKscsi/qemu-pr-helper /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) AR libvhost-user.a LINKqemu-bridge-helper GEN docs/interop/qemu-ga-ref.txt GEN docs/interop/qemu-ga-ref.7 GEN docs/interop/qemu-ga-ref.html /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKqemu-ga LINKqemu-keymap /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKivshmem-client LINKivshmem-server /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKqemu-nbd /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKqemu-storage-daemon /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) LINKqemu-img /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o) /usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common
[PULL 00/43] Block layer patches
The following changes since commit 5c24bce3056ff209a1ecc50ff4b7e65b85ad8e74: Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-plugin-160620-2' into staging (2020-06-16 14:57:15 +0100) are available in the Git repository at: git://repo.or.cz/qemu/kevin.git tags/for-upstream for you to fetch changes up to 3419ec713f04c323b030e0763459435335b25476: iotests: Add copyright line in qcow2.py (2020-06-17 16:21:21 +0200) Block layer patches: - enhance handling of size-related BlockConf properties - nvme: small fixes, refactoring and cleanups - virtio-blk: On restart, process queued requests in the proper context - icount: make dma reads deterministic - iotests: Some fixes for rarely run cases - .gitignore: Ignore storage-daemon files - Minor code cleanups Eric Blake (3): block: Refactor subdirectory recursion during make qcow2: Tweak comments on qcow2_get_persistent_dirty_bitmap_size iotests: Add copyright line in qcow2.py Klaus Jensen (21): hw/block/nvme: fix pci doorbell size calculation hw/block/nvme: rename trace events to pci_nvme hw/block/nvme: remove superfluous breaks hw/block/nvme: move device parameters to separate struct hw/block/nvme: use constants in identify hw/block/nvme: refactor nvme_addr_read hw/block/nvme: fix pin-based interrupt behavior hw/block/nvme: add max_ioqpairs device parameter hw/block/nvme: remove redundant cmbloc/cmbsz members hw/block/nvme: factor out property/constraint checks hw/block/nvme: factor out device state setup hw/block/nvme: factor out block backend setup hw/block/nvme: add namespace helpers hw/block/nvme: factor out namespace setup hw/block/nvme: factor out pci setup hw/block/nvme: factor out cmb setup hw/block/nvme: factor out pmr setup hw/block/nvme: do cmb/pmr init as part of pci init hw/block/nvme: factor out controller identify setup hw/block/nvme: add msix_qsize parameter hw/block/nvme: verify msix_init_exclusive_bar() return value Max Reitz (5): iotests.py: Add skip_for_formats() decorator iotests/041: Skip test_small_target for qed iotests/292: data_file is unsupported iotests/229: data_file is unsupported iotests/{190,291}: compat=0.10 is unsupported Pavel Dovgaluk (1): icount: make dma reads deterministic Philippe Mathieu-Daudé (2): hw/ide: Make IDEDMAOps handlers take a const IDEDMA pointer hw/block/nvme: Verify msix_vector_use() returned value Roman Bolshakov (1): .gitignore: Ignore storage-daemon files Roman Kagan (8): virtio-blk: store opt_io_size with correct size block: consolidate blocksize properties consistency checks qdev-properties: blocksize: use same limits in code and description qdev-properties: add size32 property type qdev-properties: make blocksize accept size suffixes block: make BlockConf size props 32bit and accept size suffixes qdev-properties: add getter for size32 and blocksize block: lift blocksize property limit to 2 MiB Sergio Lopez (2): virtio-blk: Refactor the code that processes queued requests virtio-blk: On restart, process queued requests in the proper context hw/block/nvme.h| 34 ++- include/block/nvme.h | 8 + include/hw/block/block.h | 14 +- include/hw/ide/internal.h | 12 +- include/hw/qdev-properties.h | 5 +- include/hw/virtio/virtio-blk.h | 1 + block/qcow2-bitmap.c | 9 +- dma-helpers.c | 22 ++ hw/block/block.c | 40 ++- hw/block/dataplane/virtio-blk.c| 8 + hw/block/fdc.c | 5 +- hw/block/nvme.c| 574 + hw/block/swim.c| 5 +- hw/block/virtio-blk.c | 39 +-- hw/block/xen-block.c | 6 +- hw/core/qdev-properties.c | 85 +- hw/ide/ahci.c | 18 +- hw/ide/core.c | 6 +- hw/ide/macio.c | 6 +- hw/ide/pci.c | 12 +- hw/ide/qdev.c | 5 +- hw/scsi/scsi-disk.c| 12 +- hw/usb/dev-storage.c | 5 +- tests/qemu-iotests/iotests.py | 16 ++ tests/qemu-iotests/qcow2.py| 2 + tests/qemu-iotests/qcow2_format.py | 1 + .gitignore | 17 +- Makefile.objs | 2 +- block/Makefile.objs| 1 + hw/block/trace-events | 180 ++-- tests/qemu-iotests/041 | 2 + tests/qemu-iotests/118 | 7 +- tests/qemu-iotests/172.out | 532 +-
Re: [Qemu-devel] [PULL 00/43] Block layer patches
On 5 July 2016 at 16:50, Kevin Wolfwrote: > The following changes since commit 60a0f1af07d685c88f4ffa09370da5bd7514823e: > > Merge remote-tracking branch 'remotes/kraxel/tags/pull-ipxe-20160704-1' > into staging (2016-07-05 12:46:18 +0100) > > are available in the git repository at: > > > git://repo.or.cz/qemu/kevin.git tags/for-upstream > > for you to fetch changes up to b0aaca4d7ff6f03acb9b2c0bc2f0d89267cc5dce: > > Merge remote-tracking branch > 'mreitz/tags/pull-block-for-kevin-2016-07-05-v2' into queue-block (2016-07-05 > 16:55:31 +0200) > > > > Block layer patches > Applied, thanks. -- PMM
[Qemu-devel] [PULL 00/43] Block layer patches
The following changes since commit 60a0f1af07d685c88f4ffa09370da5bd7514823e: Merge remote-tracking branch 'remotes/kraxel/tags/pull-ipxe-20160704-1' into staging (2016-07-05 12:46:18 +0100) are available in the git repository at: git://repo.or.cz/qemu/kevin.git tags/for-upstream for you to fetch changes up to b0aaca4d7ff6f03acb9b2c0bc2f0d89267cc5dce: Merge remote-tracking branch 'mreitz/tags/pull-block-for-kevin-2016-07-05-v2' into queue-block (2016-07-05 16:55:31 +0200) Block layer patches Denis V. Lunev (2): qemu-img: fix failed autotests block: fix return code for partial write for Linux AIO Eric Blake (22): block: Tighter assertions on bdrv_aligned_pwritev() block: Document supported flags during bdrv_aligned_preadv() block: Fix harmless off-by-one in bdrv_aligned_preadv() nbd: Allow larger requests nbd: Advertise realistic limits to block layer iscsi: Advertise realistic limits to block layer scsi: Advertise limits by blocksize, not 512 block: Give nonzero result to blk_get_max_transfer_length() blkdebug: Set request_alignment during .bdrv_refresh_limits() iscsi: Set request_alignment during .bdrv_refresh_limits() qcow2: Set request_alignment during .bdrv_refresh_limits() raw-win32: Set request_alignment during .bdrv_refresh_limits() block: Set request_alignment during .bdrv_refresh_limits() block: Set default request_alignment during bdrv_refresh_limits() block: Switch transfer length bounds to byte-based block: Wording tweaks to write zeroes limits block: Switch discard length bounds to byte-based block: Drop raw_refresh_limits() block: Split bdrv_merge_limits() from bdrv_refresh_limits() block: Move request_alignment into BlockLimit block: Fix error message style block: Use bool as appropriate for BDS members Kevin Wolf (19): block/qdev: Fix NULL access when using BB twice vvfat: Use BdrvChild for s->qcow blkreplay: Convert to byte-based I/O vhdx: Some more BlockBackend use in vhdx_create() block: Convert bdrv_co_readv() to BdrvChild block: Convert bdrv_co_writev() to BdrvChild block: Convert bdrv_aio_readv() to BdrvChild block: Convert bdrv_aio_writev() to BdrvChild block: Convert bdrv_co_do_readv/writev to BdrvChild block: Move bdrv_commit() to block/commit.c block: Use BlockBackend for I/O in bdrv_commit() block: Convert bdrv_read() to BdrvChild block: Convert bdrv_write() to BdrvChild block: Convert bdrv_pread(v) to BdrvChild block: Convert bdrv_pwrite(v/_sync) to BdrvChild block: Convert bdrv_pwrite_zeroes() to BdrvChild block: Convert bdrv_prwv_co() to BdrvChild block: Convert bdrv_co_preadv/pwritev to BdrvChild Merge remote-tracking branch 'mreitz/tags/pull-block-for-kevin-2016-07-05-v2' into queue-block Peter Maydell (1): block/qcow2: Don't use cpu_to_*w() block.c | 142 +++ block/Makefile.objs | 3 +- block/blkdebug.c | 23 +++- block/blkreplay.c| 18 +-- block/blkverify.c| 8 +- block/block-backend.c| 18 ++- block/bochs.c| 17 ++- block/cloop.c| 17 ++- block/commit.c | 121 block/crypto.c | 10 +- block/dmg.c | 30 +++-- block/io.c | 238 +-- block/iscsi.c| 45 block/linux-aio.c| 2 +- block/nbd-client.c | 4 - block/nbd.c | 4 +- block/parallels.c| 16 +-- block/qcow.c | 78 ++--- block/qcow2-cache.c | 4 +- block/qcow2-cluster.c| 20 ++-- block/qcow2-refcount.c | 47 block/qcow2-snapshot.c | 26 ++--- block/qcow2.c| 102 - block/qed-table.c| 4 +- block/qed.c | 22 ++-- block/quorum.c | 8 +- block/raw-posix.c| 24 ++-- block/raw-win32.c| 10 +- block/raw_bsd.c | 14 +-- block/vdi.c | 14 +-- block/vhdx-log.c | 12 +- block/vhdx.c | 85 +++--- block/vmdk.c | 54 - block/vpc.c | 24 ++-- block/vvfat.c| 74 hw/block/virtio-blk.c| 10 +- hw/core/qdev-properties-system.c | 2 +- hw/scsi/scsi-generic.c | 15 +-- include/block/block.h| 46