Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: 0421b563ab4d947a388078331c057daa9b979f41 https://github.com/qemu/qemu/commit/0421b563ab4d947a388078331c057daa9b979f41 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022)
Changed paths: M include/qemu/coroutine.h M util/qemu-coroutine-lock.c Log Message: ----------- coroutine: add flag to re-queue at front of CoQueue When a coroutine wakes up it may determine that it must re-queue. Normally coroutines are pushed onto the back of the CoQueue, but for fairness it may be necessary to push it onto the front of the CoQueue. Add a flag to specify that the coroutine should be pushed onto the front of the CoQueue. A later patch will use this to ensure fairness in the bounce buffer CoQueue used by the blkio BlockDriver. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-2-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: fd66dbd424f5c90fcff3d27afed2c6c59d8be3ac https://github.com/qemu/qemu/commit/fd66dbd424f5c90fcff3d27afed2c6c59d8be3ac Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M MAINTAINERS A block/blkio.c M block/meson.build M meson.build M meson_options.txt M qapi/block-core.json M scripts/meson-buildoptions.sh M tests/qtest/modules-test.c Log Message: ----------- blkio: add libblkio block driver libblkio (https://gitlab.com/libblkio/libblkio/) is a library for high-performance disk I/O. It currently supports io_uring, virtio-blk-vhost-user, and virtio-blk-vhost-vdpa with additional drivers under development. One of the reasons for developing libblkio is that other applications besides QEMU can use it. This will be particularly useful for virtio-blk-vhost-user which applications may wish to use for connecting to qemu-storage-daemon. libblkio also gives us an opportunity to develop in Rust behind a C API that is easy to consume from QEMU. This commit adds io_uring, nvme-io_uring, virtio-blk-vhost-user, and virtio-blk-vhost-vdpa BlockDrivers to QEMU using libblkio. It will be easy to add other libblkio drivers since they will share the majority of code. For now I/O buffers are copied through bounce buffers if the libblkio driver requires it. Later commits add an optimization for pre-registering guest RAM to avoid bounce buffers. The syntax is: --blockdev io_uring,node-name=drive0,filename=test.img,readonly=on|off,cache.direct=on|off --blockdev nvme-io_uring,node-name=drive0,filename=/dev/ng0n1,readonly=on|off,cache.direct=on --blockdev virtio-blk-vhost-vdpa,node-name=drive0,path=/dev/vdpa...,readonly=on|off,cache.direct=on --blockdev virtio-blk-vhost-user,node-name=drive0,path=vhost-user-blk.sock,readonly=on|off,cache.direct=on Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Acked-by: Markus Armbruster <arm...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-3-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 1f0fea38f46a786dd87407997e8bfbccca5e458f https://github.com/qemu/qemu/commit/1f0fea38f46a786dd87407997e8bfbccca5e458f Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M hw/core/numa.c M util/vfio-helpers.c Log Message: ----------- numa: call ->ram_block_removed() in ram_block_notifer_remove() When a RAMBlockNotifier is added, ->ram_block_added() is called with all existing RAMBlocks. There is no equivalent ->ram_block_removed() call when a RAMBlockNotifier is removed. The util/vfio-helpers.c code (the sole user of RAMBlockNotifier) is fine with this asymmetry because it does not rely on RAMBlockNotifier for cleanup. It walks its internal list of DMA mappings and unmaps them by itself. Future users of RAMBlockNotifier may not have an internal data structure that records added RAMBlocks so they will need ->ram_block_removed() callbacks. This patch makes ram_block_notifier_remove() symmetric with respect to callbacks. Now util/vfio-helpers.c needs to unmap remaining DMA mappings after ram_block_notifier_remove() has been called. This is necessary since users like block/nvme.c may create additional DMA mappings that do not originate from the RAMBlockNotifier. Reviewed-by: David Hildenbrand <da...@redhat.com> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-4-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 4f384011c5a37f80dc6cadefffac61ffb1c3aa1e https://github.com/qemu/qemu/commit/4f384011c5a37f80dc6cadefffac61ffb1c3aa1e Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M block/block-backend.c M block/io.c M block/nvme.c M include/block/block-global-state.h M include/block/block_int-common.h M include/sysemu/block-backend-global-state.h M qemu-img.c Log Message: ----------- block: pass size to bdrv_unregister_buf() The only implementor of bdrv_register_buf() is block/nvme.c, where the size is not needed when unregistering a buffer. This is because util/vfio-helpers.c can look up mappings by address. Future block drivers that implement bdrv_register_buf() may not be able to do their job given only the buffer address. Add a size argument to bdrv_unregister_buf(). Also document the assumptions about bdrv_register_buf()/bdrv_unregister_buf() calls. The same <host, size> values that were given to bdrv_register_buf() must be given to bdrv_unregister_buf(). gcc 11.2.1 emits a spurious warning that img_bench()'s buf_size local variable might be uninitialized, so it's necessary to silence the compiler. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-5-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 98b3ddc78bf3380ec976d924aedb7f3fa2e9dbef https://github.com/qemu/qemu/commit/98b3ddc78bf3380ec976d924aedb7f3fa2e9dbef Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M include/block/block_int-common.h Log Message: ----------- block: use BdrvRequestFlags type for supported flag fields Use the enum type so GDB displays the enum members instead of printing a numeric constant. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-6-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: e8b6535533be4269e4b7bd23d4bb17dd976dc7a3 https://github.com/qemu/qemu/commit/e8b6535533be4269e4b7bd23d4bb17dd976dc7a3 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M block.c M block/blkverify.c M block/crypto.c M block/file-posix.c M block/gluster.c M block/io.c M block/mirror.c M block/nbd.c M block/parallels.c M block/qcow.c M block/qed.c M block/raw-format.c M block/replication.c M block/ssh.c M block/vhdx.c M include/block/block-common.h Log Message: ----------- block: add BDRV_REQ_REGISTERED_BUF request flag Block drivers may optimize I/O requests accessing buffers previously registered with bdrv_register_buf(). Checking whether all elements of a request's QEMUIOVector are within previously registered buffers is expensive, so we need a hint from the user to avoid costly checks. Add a BDRV_REQ_REGISTERED_BUF request flag to indicate that all QEMUIOVector elements in an I/O request are known to be within previously registered buffers. Always pass the flag through to driver read/write functions. There is little harm in passing the flag to a driver that does not use it. Passing the flag to drivers avoids changes across many block drivers. Filter drivers would need to explicitly support the flag and pass through to their children when the children support it. That's a lot of code changes and it's hard to remember to do that everywhere, leading to silent reduced performance when the flag is accidentally dropped. The only problematic scenario with the approach in this patch is when a driver passes the flag through to internal I/O requests that don't use the same I/O buffer. In that case the hint may be set when it should actually be clear. This is a rare case though so the risk is low. Some drivers have assert(!flags), which no longer works when BDRV_REQ_REGISTERED_BUF is passed in. These assertions aren't very useful anyway since the functions are called almost exclusively by bdrv_driver_preadv/pwritev() so if we get flags handling right there then the assertion is not needed. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-7-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: f4ec04bae9577eaa55ac35f3971dc3086a4a9192 https://github.com/qemu/qemu/commit/f4ec04bae9577eaa55ac35f3971dc3086a4a9192 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M block/block-backend.c M block/io.c M block/nvme.c M include/block/block-global-state.h M include/block/block_int-common.h M include/sysemu/block-backend-global-state.h M qemu-img.c Log Message: ----------- block: return errors from bdrv_register_buf() Registering an I/O buffer is only a performance optimization hint but it is still necessary to return errors when it fails. Later patches will need to detect errors when registering buffers but an immediate advantage is that error_report() calls are no longer needed in block driver .bdrv_register_buf() functions. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-8-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 4fdd0a1a7ea174c5ee573e49c11f7d3bce00984d https://github.com/qemu/qemu/commit/4fdd0a1a7ea174c5ee573e49c11f7d3bce00984d Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M hw/core/numa.c Log Message: ----------- numa: use QLIST_FOREACH_SAFE() for RAM block notifiers Make list traversal work when a callback removes a notifier mid-traversal. This is a cleanup to prevent bugs in the future. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: David Hildenbrand <da...@redhat.com> Message-id: 20221013185908.1297568-9-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 7f9241d805b4711a4f7dc5489df0e7e30b8c1496 https://github.com/qemu/qemu/commit/7f9241d805b4711a4f7dc5489df0e7e30b8c1496 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M MAINTAINERS A block/block-ram-registrar.c M block/meson.build A include/sysemu/block-ram-registrar.h Log Message: ----------- block: add BlockRAMRegistrar Emulated devices and other BlockBackend users wishing to take advantage of blk_register_buf() all have the same repetitive job: register RAMBlocks with the BlockBackend using RAMBlockNotifier. Add a BlockRAMRegistrar API to do this. A later commit will use this from hw/block/virtio-blk.c. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-10-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 6d998f3cbfebabea7882848a65c38f454d2a37c4 https://github.com/qemu/qemu/commit/6d998f3cbfebabea7882848a65c38f454d2a37c4 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M include/exec/cpu-common.h M softmmu/physmem.c Log Message: ----------- exec/cpu-common: add qemu_ram_get_fd() Add a function to get the file descriptor for a RAMBlock. Device emulation code typically uses the MemoryRegion APIs but vhost-style code may use RAMBlock directly for sharing guest memory with another process. This new API will be used by the libblkio block driver so it can share guest memory via .bdrv_register_buf(). Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-11-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 701bff24deba59a095c6b5cade15e764d56909f6 https://github.com/qemu/qemu/commit/701bff24deba59a095c6b5cade15e764d56909f6 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M stubs/meson.build A stubs/physmem.c Log Message: ----------- stubs: add qemu_ram_block_from_host() and qemu_ram_get_fd() The blkio block driver will need to look up the file descriptor for a given pointer. This is possible in softmmu builds where the RAMBlock API is available for querying guest RAM. Add stubs so tools like qemu-img that link the block layer still build successfully. In this case there is no guest RAM but that is fine. Bounce buffers and their file descriptors will be allocated with libblkio's blkio_alloc_mem_region() so we won't rely on QEMU's qemu_ram_get_fd() in that case. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Message-id: 20221013185908.1297568-12-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: c5640b3e2f1146e8eea9f9f62db87713388d8bc8 https://github.com/qemu/qemu/commit/c5640b3e2f1146e8eea9f9f62db87713388d8bc8 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M block/blkio.c Log Message: ----------- blkio: implement BDRV_REQ_REGISTERED_BUF optimization Avoid bounce buffers when QEMUIOVector elements are within previously registered bdrv_register_buf() buffers. The idea is that emulated storage controllers will register guest RAM using bdrv_register_buf() and set the BDRV_REQ_REGISTERED_BUF on I/O requests. Therefore no blkio_map_mem_region() calls are necessary in the performance-critical I/O code path. This optimization doesn't apply if the I/O buffer is internally allocated by QEMU (e.g. qcow2 metadata). There we still take the slow path because BDRV_REQ_REGISTERED_BUF is not set. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-13-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: baf422684d73c7bf38e2c18815e18d44fcf395b6 https://github.com/qemu/qemu/commit/baf422684d73c7bf38e2c18815e18d44fcf395b6 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M hw/block/virtio-blk.c M include/hw/virtio/virtio-blk.h Log Message: ----------- virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization hint Register guest RAM using BlockRAMRegistrar and set the BDRV_REQ_REGISTERED_BUF flag so block drivers can optimize memory accesses in I/O requests. This is for vdpa-blk, vhost-user-blk, and other I/O interfaces that rely on DMA mapping/unmapping. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Message-id: 20221013185908.1297568-14-stefa...@redhat.com Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 20745ac938c384c8847c3a27b7d76a454c67564b https://github.com/qemu/qemu/commit/20745ac938c384c8847c3a27b7d76a454c67564b Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-27 (Thu, 27 Oct 2022) Changed paths: M audio/alsaaudio.c M audio/audio.c M audio/audio_legacy.c M audio/ossaudio.c M audio/paaudio.c M audio/sndioaudio.c M audio/wavaudio.c M backends/tpm/tpm_passthrough.c M block/block-backend.c M block/copy-before-write.c M block/dirty-bitmap.c M block/export/export.c M block/export/vduse-blk.c M block/gluster.c M block/monitor/block-hmp-cmds.c M block/qapi-sysemu.c M block/qapi.c M block/qcow.c M block/qcow2.c M block/qed.c M block/quorum.c M block/rbd.c M block/ssh.c M blockdev-nbd.c M blockdev.c M blockjob.c M chardev/char-file.c M chardev/char-socket.c M chardev/char-udp.c M chardev/char.c M crypto/block-luks.c M docs/devel/qapi-code-gen.rst M docs/devel/writing-monitor-commands.rst M dump/dump.c M hw/acpi/core.c M hw/acpi/cpu.c M hw/acpi/memory_hotplug.c M hw/core/machine-hmp-cmds.c M hw/core/machine-qmp-cmds.c M hw/core/machine.c M hw/core/numa.c M hw/core/qdev.c M hw/mem/pc-dimm.c M hw/net/rocker/rocker_of_dpa.c M hw/net/virtio-net.c M hw/nvram/fw_cfg.c M hw/pci/pci.c M hw/ppc/spapr.c M hw/ppc/spapr_drc.c M hw/virtio/virtio-mem-pci.c M hw/virtio/virtio-pmem-pci.c M hw/virtio/virtio.c M include/monitor/monitor.h M job-qmp.c M migration/block-dirty-bitmap.c M migration/colo.c M migration/migration.c M monitor/hmp-cmds.c M monitor/misc.c M monitor/qmp-cmds.c M nbd/server.c M net/announce.c M net/hub.c M net/l2tpv3.c M net/net.c M net/slirp.c M net/socket.c M net/tap-win32.c M net/tap.c M qemu-img.c M qemu-nbd.c M qga/commands-posix.c M qga/commands-win32.c M qga/commands.c M qom/qom-qmp-cmds.c M replay/replay-debugging.c M scripts/qapi/commands.py M scripts/qapi/events.py M scripts/qapi/gen.py M scripts/qapi/schema.py M scripts/qapi/types.py M scripts/qapi/visit.py M softmmu/runstate.c M softmmu/vl.c M stubs/qdev.c M target/arm/monitor.c M target/i386/cpu-sysemu.c M target/i386/cpu.c M target/s390x/cpu_models_sysemu.c M tests/qtest/fuzz/qos_fuzz.c M tests/qtest/qmp-cmd-test.c M tests/unit/test-char.c M tests/unit/test-crypto-block.c M tests/unit/test-qmp-cmds.c M tests/unit/test-qmp-event.c M tests/unit/test-qobject-input-visitor.c M tests/unit/test-qobject-output-visitor.c M tests/unit/test-visitor-serialization.c M ui/console.c M ui/input.c M ui/spice-core.c M ui/vnc.c M util/qemu-config.c Log Message: ----------- Merge tag 'pull-qapi-2022-10-25-v2' of https://repo.or.cz/qemu/armbru into staging QAPI patches patches for 2022-10-25 * tag 'pull-qapi-2022-10-25-v2' of https://repo.or.cz/qemu/armbru: (28 commits) qapi: Drop temporary logic to support conversion step by step qapi qga: Elide redundant has_FOO in generated C qapi virtio: Elide redundant has_FOO in generated C qapi ui: Elide redundant has_FOO in generated C qapi transaction: Elide redundant has_FOO in generated C qapi tpm: Elide redundant has_FOO in generated C qapi stats: Elide redundant has_FOO in generated C qapi run-state: Elide redundant has_FOO in generated C qapi rocker: Elide redundant has_FOO in generated C qapi replay: Elide redundant has_FOO in generated C qapi qdev qom: Elide redundant has_FOO in generated C qapi pci: Elide redundant has_FOO in generated C qapi net: Elide redundant has_FOO in generated C qapi misc: Elide redundant has_FOO in generated C qapi migration: Elide redundant has_FOO in generated C qapi machine: Elide redundant has_FOO in generated C qapi job: Elide redundant has_FOO in generated C qapi dump: Elide redundant has_FOO in generated C qapi crypto: Elide redundant has_FOO in generated C qapi chardev: Elide redundant has_FOO in generated C ... Fixups: - audio/sndioaudio.c was still using has_dev instead of just dev. Fix the compilation error: ../audio/sndioaudio.c:336:20: error: ‘AudiodevSndioOptions’ has no member named ‘has_dev’ 336 | dev_name = opts->has_dev ? opts->dev : SIO_DEVANY; Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 11aec2f76bdbc001346a990f1ccbd730ff1c0fc7 https://github.com/qemu/qemu/commit/11aec2f76bdbc001346a990f1ccbd730ff1c0fc7 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-27 (Thu, 27 Oct 2022) Changed paths: M meson.build M qga/channel-posix.c A qga/commands-bsd.c M qga/commands-common.h A qga/commands-linux.c M qga/commands-posix.c M qga/main.c M qga/meson.build Log Message: ----------- Merge tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu into staging qga-pull-2022-10-26 * tag 'qga-pull-2022-10-26' of https://github.com/kostyanf14/qemu: qga: add channel path to error messages qga: Add HW address getting for FreeBSD qga: Move HW address getting to a separate function qga: Add support for user password setting in FreeBSD qga: Add shutdown/halt/reboot support for FreeBSD qga: Add UFS freeze/thaw support for FreeBSD qga: Move Linux-specific FS freeze/thaw code to a separate file qga: Add initial FreeBSD support Conflicts: - "qga: Move HW address getting to a separate function" still uses has_hardware_address but it was just removed by "qapi qga: Elide redundant has_FOO in generated C". Drop has_hardware_address. Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 1deda0dd9ed56acce9bd1e2080779a35237b54d3 https://github.com/qemu/qemu/commit/1deda0dd9ed56acce9bd1e2080779a35237b54d3 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2022-10-27 (Thu, 27 Oct 2022) Changed paths: M MAINTAINERS M block.c A block/blkio.c M block/blkverify.c M block/block-backend.c A block/block-ram-registrar.c M block/crypto.c M block/file-posix.c M block/gluster.c M block/io.c M block/meson.build M block/mirror.c M block/nbd.c M block/nvme.c M block/parallels.c M block/qcow.c M block/qed.c M block/raw-format.c M block/replication.c M block/ssh.c M block/vhdx.c M hw/block/virtio-blk.c M hw/core/numa.c M include/block/block-common.h M include/block/block-global-state.h M include/block/block_int-common.h M include/exec/cpu-common.h M include/hw/virtio/virtio-blk.h M include/qemu/coroutine.h M include/sysemu/block-backend-global-state.h A include/sysemu/block-ram-registrar.h M meson.build M meson_options.txt M qapi/block-core.json M qemu-img.c M scripts/meson-buildoptions.sh M softmmu/physmem.c M stubs/meson.build A stubs/physmem.c M tests/qtest/modules-test.c M util/qemu-coroutine-lock.c M util/vfio-helpers.c Log Message: ----------- Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging Pull request # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmNZg14ACgkQnKSrs4Gr # c8hwwwf/Udbnt6n4SShezEIYRe0udLvuyo1HwcMNLWjllHLfp/yNDcPsGk+r13Ue # TxrvbVaucxB5RPdN67KmzPyu+wPM/o0nij7c4CkBvwNPXmfUCF97Lj0prEL+ZeHp # HmNg08FRfHM2vKMFyJXqDAidBecUDizLrP9C3nc/LAF6fr9ds+vfFuB/12eSXvZ+ # RLnaAj7KLt2MzkgWbDiC6066TPZWCcwFJmc0zkCAthCepokDrKfSHc+0u9U/NXA9 # Qv7qKcEBYq3vP3SCvDtbKU3Ig4CoiwO3A3O9wZTypamU2816H9HtEJ5NPtjNUFPF # dm3siyKODbDx4mzba/Xv/26lHGSsJA== # =bmGV # -----END PGP SIGNATURE----- # gpg: Signature made Wed 26 Oct 2022 14:58:38 EDT # gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefa...@redhat.com>" [ultimate] # gpg: aka "Stefan Hajnoczi <stefa...@gmail.com>" [ultimate] # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * tag 'block-pull-request' of https://gitlab.com/stefanha/qemu: virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization hint blkio: implement BDRV_REQ_REGISTERED_BUF optimization stubs: add qemu_ram_block_from_host() and qemu_ram_get_fd() exec/cpu-common: add qemu_ram_get_fd() block: add BlockRAMRegistrar numa: use QLIST_FOREACH_SAFE() for RAM block notifiers block: return errors from bdrv_register_buf() block: add BDRV_REQ_REGISTERED_BUF request flag block: use BdrvRequestFlags type for supported flag fields block: pass size to bdrv_unregister_buf() numa: call ->ram_block_removed() in ram_block_notifer_remove() blkio: add libblkio block driver coroutine: add flag to re-queue at front of CoQueue Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/66a1ca5d77f3...1deda0dd9ed5