History log of /qemu/include/block/ (Results 1 – 25 of 1529)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5bdbaebc02-Feb-2024 Hanna Czenczek <hreitz@redhat.com>

virtio: Re-enable notifications after drain

During drain, we do not care about virtqueue notifications, which is why
we remove the handlers on it. When removing those handlers, whether vq
notificat

virtio: Re-enable notifications after drain

During drain, we do not care about virtqueue notifications, which is why
we remove the handlers on it. When removing those handlers, whether vq
notifications are enabled or not depends on whether we were in polling
mode or not; if not, they are enabled (by default); if so, they have
been disabled by the io_poll_start callback.

Because we do not care about those notifications after removing the
handlers, this is fine. However, we have to explicitly ensure they are
enabled when re-attaching the handlers, so we will resume receiving
notifications. We do this in virtio_queue_aio_attach_host_notifier*().
If such a function is called while we are in a polling section,
attaching the notifiers will then invoke the io_poll_start callback,
re-disabling notifications.

Because we will always miss virtqueue updates in the drained section, we
also need to poll the virtqueue once after attaching the notifiers.

Buglink: https://issues.redhat.com/browse/RHEL-3934
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20240202153158.788922-3-hreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/ldst_common.c.inc
/qemu/accel/tcg/meson.build
/qemu/accel/tcg/tb-jmp-cache.h
/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/qemu/accel/tcg/tcg-accel-ops-rr.c
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/tcg-accel-ops.h
/qemu/accel/tcg/translate-all.c
/qemu/audio/pwaudio.c
/qemu/backends/hostmem.c
/qemu/block/blkio.c
/qemu/block/blklogwrites.c
/qemu/block/block-backend.c
/qemu/block/io_uring.c
/qemu/bsd-user/signal.c
/qemu/cpu-target.c
/qemu/disas/riscv-xthead.c
/qemu/disas/riscv-xventana.c
/qemu/disas/riscv.h
/qemu/docs/colo-proxy.txt
/qemu/docs/devel/docs.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/docs/interop/bitmaps.rst
/qemu/docs/interop/qemu-ga.rst
/qemu/docs/specs/fsi.rst
/qemu/docs/specs/index.rst
/qemu/docs/sphinx/hxtool.py
/qemu/docs/system/arm/bananapi_m2u.rst
/qemu/docs/system/arm/raspi.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/system/i386/xen.rst
/qemu/docs/system/keys.rst.inc
/qemu/dump/dump-hmp-cmds.c
/qemu/hw/Kconfig
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/allwinner-h3.c
/qemu/hw/arm/allwinner-r40.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_eeprom.c
/qemu/hw/arm/aspeed_eeprom.h
/qemu/hw/arm/aspeed_soc_common.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/collie.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/exynos4_boards.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx31.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/kzm.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/msf2-som.c
/qemu/hw/arm/musca.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/npcm7xx_boards.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/omap1.c
/qemu/hw/arm/omap2.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmuv3-internal.h
/qemu/hw/arm/spitz.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/arm/z2.c
/qemu/hw/block/block.c
/qemu/hw/block/dataplane/meson.build
/qemu/hw/block/m25p80.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/imx_serial.c
/qemu/hw/core/bus.c
/qemu/hw/core/loader.c
/qemu/hw/core/qdev.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/meson.build
/qemu/hw/cris/axis_dev88.c
/qemu/hw/cxl/cxl-events.c
/qemu/hw/fsi/Kconfig
/qemu/hw/fsi/aspeed_apb2opb.c
/qemu/hw/fsi/cfam.c
/qemu/hw/fsi/fsi-master.c
/qemu/hw/fsi/fsi.c
/qemu/hw/fsi/lbus.c
/qemu/hw/fsi/meson.build
/qemu/hw/fsi/trace-events
/qemu/hw/fsi/trace.h
/qemu/hw/hppa/machine.c
/qemu/hw/hyperv/hv-balloon-internal.h
/qemu/hw/hyperv/hv-balloon-our_range_memslots.c
/qemu/hw/hyperv/hv-balloon-our_range_memslots.h
/qemu/hw/hyperv/hv-balloon-page_range_tree.c
/qemu/hw/hyperv/hv-balloon-page_range_tree.h
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/input/adb.c
/qemu/hw/intc/xics.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/m68k/q800.c
/qemu/hw/meson.build
/qemu/hw/microblaze/petalogix_ml605_mmu.c
/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/mips/malta.c
/qemu/hw/mips/mipssim.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/xlnx-versal-crl.c
/qemu/hw/net/etraxfs_eth.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/meson.build
/qemu/hw/net/npcm_gmac.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/trace-events
/qemu/hw/net/virtio-net.c
/qemu/hw/nvram/fw_cfg-acpi.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-host/designware.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/Kconfig
/qemu/hw/ssi/bcm2835_spi.c
/qemu/hw/ssi/meson.build
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/pci.c
/qemu/hw/virtio/virtio-acpi.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/trace-events
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_devconfig.c
/qemu/hw/xenpv/xen_machine_pv.c
/qemu/hw/xtensa/virt.c
/qemu/hw/xtensa/xtfpga.c
aio.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/translation-block.h
/qemu/include/exec/translator.h
/qemu/include/exec/vaddr.h
/qemu/include/hw/arm/allwinner-r40.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/fsl-imx6.h
/qemu/include/hw/arm/fsl-imx6ul.h
/qemu/include/hw/arm/msf2-soc.h
/qemu/include/hw/arm/npcm7xx.h
/qemu/include/hw/arm/raspberrypi-fw-defs.h
/qemu/include/hw/arm/xlnx-versal.h
/qemu/include/hw/audio/asc.h
/qemu/include/hw/block/block.h
/qemu/include/hw/char/imx_serial.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/tcg-cpu-ops.h
/qemu/include/hw/cris/etraxfs.h
/qemu/include/hw/fsi/aspeed_apb2opb.h
/qemu/include/hw/fsi/cfam.h
/qemu/include/hw/fsi/fsi-master.h
/qemu/include/hw/fsi/fsi.h
/qemu/include/hw/fsi/lbus.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/intc/armv7m_nvic.h
/qemu/include/hw/m68k/q800-glue.h
/qemu/include/hw/mem/memory-device.h
/qemu/include/hw/misc/xlnx-versal-crl.h
/qemu/include/hw/net/lan9118.h
/qemu/include/hw/net/lasi_82596.h
/qemu/include/hw/net/ne2000-isa.h
/qemu/include/hw/net/npcm_gmac.h
/qemu/include/hw/net/smc91c111.h
/qemu/include/hw/nvram/fw_cfg_acpi.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/ssi/bcm2835_spi.h
/qemu/include/hw/virtio/virtio-acpi.h
/qemu/include/hw/virtio/virtio-blk.h
/qemu/include/hw/xen/xen-bus.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen-legacy-backend.h
/qemu/include/net/net.h
/qemu/include/qapi/visitor.h
/qemu/include/qemu/bswap.h
/qemu/include/qemu/qtree.h
/qemu/include/qemu/typedefs.h
/qemu/include/qemu/yank.h
/qemu/include/tcg/debuginfo.h
/qemu/include/tcg/perf.h
/qemu/include/ui/rect.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-user/aarch64/vdso-be.so
/qemu/linux-user/aarch64/vdso-le.so
/qemu/linux-user/aarch64/vdso.S
/qemu/linux-user/elfload.c
/qemu/linux-user/exit.c
/qemu/linux-user/main.c
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/cpu_loop.c
/qemu/linux-user/sparc/signal.c
/qemu/meson.build
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/yank_functions.c
/qemu/monitor/qmp.c
/qemu/net/af-xdp.c
/qemu/net/net.c
/qemu/plugins/core.c
/qemu/plugins/loader.c
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/char.json
/qemu/qapi/introspect.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/qapi-util.c
/qemu/qapi/qdev.json
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/qom.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/main.c
/qemu/qga/qapi-schema.json
/qemu/scripts/analyze-migration.py
/qemu/scripts/clean-includes
/qemu/scripts/qapi/parser.py
/qemu/semihosting/uaccess.c
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/system/globals.c
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/translate.c
/qemu/target/arm/arm-powerctl.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/gtimer.h
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/machine.c
/qemu/target/arm/multiprocessing.h
/qemu/target/arm/syndrome.h
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/psci.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/tlb_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/avr/cpu.c
/qemu/target/avr/cpu.h
/qemu/target/avr/translate.c
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/cris/translate.c
/qemu/target/cris/translate_v10.c.inc
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hexagon/translate.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/helper-tcg.h
/qemu/target/i386/tcg/sysemu/seg_helper.c
/qemu/target/i386/tcg/tcg-cpu.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/cpu_helper.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/meson.build
/qemu/target/loongarch/tcg/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/loongarch/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/meson.build
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/mmu.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/sysemu/physaddr.c
/qemu/target/mips/tcg/msa_helper.c
/qemu/target/mips/tcg/sysemu/cp0_helper.c
/qemu/target/mips/tcg/sysemu/special_helper.c
/qemu/target/mips/tcg/sysemu/tlb_helper.c
/qemu/target/mips/tcg/translate.c
/qemu/target/mips/tcg/translate.h
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/nios2/translate.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/openrisc/translate.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/mmu_common.c
/qemu/target/ppc/translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/rx/cpu.c
/qemu/target/rx/cpu.h
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/tcg/mem_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/fop_helper.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/machine.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/translate.c
/qemu/target/target-common.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/tricore/helper.c
/qemu/target/tricore/translate.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/mmu_helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/debuginfo.c
/qemu/tcg/loongarch64/tcg-target.c.inc
/qemu/tcg/meson.build
/qemu/tcg/perf.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/machine_aspeed.py
/qemu/tests/guest-debug/run-test.py
/qemu/tests/guest-debug/test_gdbstub.py
/qemu/tests/qemu-iotests/060.out
/qemu/tests/qemu-iotests/071.out
/qemu/tests/qemu-iotests/081.out
/qemu/tests/qemu-iotests/087.out
/qemu/tests/qemu-iotests/108.out
/qemu/tests/qemu-iotests/109
/qemu/tests/qemu-iotests/109.out
/qemu/tests/qemu-iotests/117.out
/qemu/tests/qemu-iotests/120.out
/qemu/tests/qemu-iotests/127.out
/qemu/tests/qemu-iotests/140.out
/qemu/tests/qemu-iotests/141
/qemu/tests/qemu-iotests/141.out
/qemu/tests/qemu-iotests/143.out
/qemu/tests/qemu-iotests/156.out
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/182.out
/qemu/tests/qemu-iotests/183.out
/qemu/tests/qemu-iotests/184.out
/qemu/tests/qemu-iotests/185
/qemu/tests/qemu-iotests/185.out
/qemu/tests/qemu-iotests/191.out
/qemu/tests/qemu-iotests/195.out
/qemu/tests/qemu-iotests/223.out
/qemu/tests/qemu-iotests/227.out
/qemu/tests/qemu-iotests/247.out
/qemu/tests/qemu-iotests/264
/qemu/tests/qemu-iotests/273.out
/qemu/tests/qemu-iotests/277
/qemu/tests/qemu-iotests/308
/qemu/tests/qemu-iotests/308.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/testenv.py
/qemu/tests/qemu-iotests/tests/file-io-error
/qemu/tests/qemu-iotests/tests/iothreads-resize.out
/qemu/tests/qemu-iotests/tests/iothreads-stream
/qemu/tests/qemu-iotests/tests/qsd-jobs.out
/qemu/tests/qtest/aspeed_fsi-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/npcm_gmac-test.c
/qemu/tests/qtest/qtest_aspeed.h
/qemu/tests/qtest/xlnx-versal-trng-test.c
/qemu/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
/qemu/tests/tcg/aarch64/gdbstub/test-sve.py
/qemu/tests/tcg/aarch64/sysregs.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/qemu/tests/tcg/multiarch/gdbstub/memory.py
/qemu/tests/tcg/multiarch/gdbstub/prot-none.py
/qemu/tests/tcg/multiarch/gdbstub/registers.py
/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
/qemu/tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
/qemu/tests/tcg/multiarch/prot-none.c
/qemu/tests/tcg/s390x/gdbstub/test-signals-s390x.py
/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-qga.c
/qemu/util/userfaultfd.c
/qemu/util/yank.c
72098a3a05-Dec-2023 Peter Krempa <pkrempa@redhat.com>

stream: Allow users to request only format driver names in backing file format

Introduce a new flag 'backing-mask-protocol' for the block-stream QMP
command which instructs the internals to use 'raw

stream: Allow users to request only format driver names in backing file format

Introduce a new flag 'backing-mask-protocol' for the block-stream QMP
command which instructs the internals to use 'raw' instead of the
protocol driver in case when a image is used without a dummy 'raw'
wrapper.

The flag is designed such that it can be always asserted by management
tools even when there isn't any update to backing files.

The flag will be used by libvirt so that the backing images still
reference the proper format even when libvirt will stop using the dummy
raw driver (raw driver with no other config). Libvirt needs this so that
the images stay compatible with older libvirt versions which didn't
expect that a protocol driver name can appear in the backing file format
field.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <bbee9a0a59748a8893289bf8249f568f0d587e62.1701796348.git.pkrempa@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

4b028cbe05-Dec-2023 Peter Krempa <pkrempa@redhat.com>

commit: Allow users to request only format driver names in backing file format

Introduce a new flag 'backing-mask-protocol' for the block-commit QMP
command which instructs the internals to use 'raw

commit: Allow users to request only format driver names in backing file format

Introduce a new flag 'backing-mask-protocol' for the block-commit QMP
command which instructs the internals to use 'raw' instead of the
protocol driver in case when a image is used without a dummy 'raw'
wrapper.

The flag is designed such that it can be always asserted by management
tools even when there isn't any update to backing files.

The flag will be used by libvirt so that the backing images still
reference the proper format even when libvirt will stop using the dummy
raw driver (raw driver with no other config). Libvirt needs this so that
the images stay compatible with older libvirt versions which didn't
expect that a protocol driver name can appear in the backing file format
field.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <2cb46e37093ce793ea1604abc8bbb90f4c8e434b.1701796348.git.pkrempa@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/accel/accel-system.c
/qemu/accel/accel-system.h
/qemu/accel/accel-target.c
/qemu/accel/dummy-cpus.c
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/kvm/kvm-accel-ops.c
/qemu/accel/tcg/icount-common.c
/qemu/accel/tcg/meson.build
/qemu/accel/tcg/tb-maint.c
/qemu/accel/tcg/watchpoint.c
/qemu/backends/cryptodev.c
/qemu/block.c
/qemu/block/blklogwrites.c
/qemu/block/commit.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/configure
/qemu/cpu-target.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/docs.rst
/qemu/docs/devel/index-build.rst
/qemu/docs/devel/index-internals.rst
/qemu/docs/devel/migration/best-practices.rst
/qemu/docs/devel/migration/compatibility.rst
/qemu/docs/devel/migration/dirty-limit.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/index.rst
/qemu/docs/devel/migration/main.rst
/qemu/docs/devel/migration/postcopy.rst
/qemu/docs/devel/migration/vfio.rst
/qemu/docs/devel/migration/virtio.rst
/qemu/docs/specs/tpm.rst
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/user/main.rst
/qemu/hmp-commands-info.hx
/qemu/hmp-commands.hx
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/virt.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/tc58128.c
/qemu/hw/block/trace-events
/qemu/hw/core/cpu-common.c
/qemu/hw/hppa/machine.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_exti.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/trace-events
/qemu/hw/pci-host/astro.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-kvm.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclpcpu.c
/qemu/hw/scsi/esp-pci.c
/qemu/hw/sh4/shix.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/trace-events
/qemu/hw/vfio/common.c
block-global-state.h
block_int-common.h
block_int-global-state.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/translate-all.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/elf_ops.h
/qemu/include/hw/misc/stm32l4x5_exti.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/s390x/s390-pci-bus.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/uri.h
/qemu/include/sysemu/cpu-timers.h
/qemu/include/sysemu/replay.h
/qemu/linux-user/elfload.c
/qemu/linux-user/main.c
/qemu/linux-user/riscv/vdso-32.so
/qemu/linux-user/riscv/vdso-64.so
/qemu/linux-user/riscv/vdso.S
/qemu/linux-user/signal.c
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/ram.c
/qemu/migration/rdma.c
/qemu/pc-bios/hppa-firmware.img
/qemu/qapi/block-core.json
/qemu/qapi/run-state.json
/qemu/qapi/string-output-visitor.c
/qemu/qemu-img-cmds.hx
/qemu/qemu-options.hx
/qemu/roms/seabios-hppa
/qemu/stubs/icount.c
/qemu/system/cpu-timers.c
/qemu/system/runstate.c
/qemu/system/vl.c
/qemu/system/watchpoint.c
/qemu/target/alpha/clk_helper.c
/qemu/target/alpha/meson.build
/qemu/target/alpha/sys_helper.c
/qemu/target/arm/cpu.c
/qemu/target/arm/helper.c
/qemu/target/arm/ptw.c
/qemu/target/hexagon/README
/qemu/target/hexagon/attribs_def.h.inc
/qemu/target/hexagon/decode.c
/qemu/target/hexagon/decode.h
/qemu/target/hexagon/gen_analyze_funcs.py
/qemu/target/hexagon/gen_decodetree.py
/qemu/target/hexagon/gen_dectree_import.c
/qemu/target/hexagon/gen_helper_funcs.py
/qemu/target/hexagon/gen_helper_protos.py
/qemu/target/hexagon/gen_idef_parser_funcs.py
/qemu/target/hexagon/gen_op_regs.py
/qemu/target/hexagon/gen_tcg.h
/qemu/target/hexagon/gen_tcg_funcs.py
/qemu/target/hexagon/gen_trans_funcs.py
/qemu/target/hexagon/hex_common.py
/qemu/target/hexagon/idef-parser/parser-helpers.c
/qemu/target/hexagon/macros.h
/qemu/target/hexagon/meson.build
/qemu/target/hexagon/mmvec/decode_ext_mmvec.c
/qemu/target/hexagon/opcodes.c
/qemu/target/hexagon/opcodes.h
/qemu/target/hexagon/translate.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/sev.c
/qemu/target/i386/tcg/tcg-cpu.c
/qemu/target/i386/tcg/translate.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/dbg_helper.c
/qemu/target/xtensa/helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/region.c
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tests/avocado/acpi-bits.py
/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/qemu/tests/qemu-iotests/183.out
/qemu/tests/qemu-iotests/234.out
/qemu/tests/qemu-iotests/262.out
/qemu/tests/qemu-iotests/280.out
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-helpers.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_watchdog_timer-test.c
/qemu/tests/qtest/stm32l4x5_exti-test.c
/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/qemu/tests/qtest/test-hmp.c
/qemu/tests/tcg/aarch64/system/vtimer.c
/qemu/tests/tcg/xtensa/test_break.S
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-iov.c
/qemu/tests/vm/netbsd
/qemu/util/async.c
/qemu/util/coroutine-ucontext.c
/qemu/util/fdmon-io_uring.c
/qemu/util/uri.c
3cbc17ee12-Jul-2021 Paolo Bonzini <pbonzini@redhat.com>

io_uring: move LuringState typedef to block/aio.h

The LuringState typedef is defined twice, in include/block/raw-aio.h and
block/io_uring.c. Move it in include/block/aio.h, which is included
everyw

io_uring: move LuringState typedef to block/aio.h

The LuringState typedef is defined twice, in include/block/raw-aio.h and
block/io_uring.c. Move it in include/block/aio.h, which is included
everywhere the typedef is needed, since include/block/aio.h already has
to define the forward reference to the struct.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.readthedocs.yml
/qemu/MAINTAINERS
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/tcg-accel-ops-rr.c
/qemu/block/io_uring.c
/qemu/chardev/char-fe.c
/qemu/chardev/char.c
/qemu/configs/devices/arm-softmmu/default.mak
/qemu/disas/riscv.c
/qemu/docs/requirements.txt
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/stm32.rst
/qemu/docs/system/riscv/sifive_u.rst
/qemu/docs/system/riscv/virt.rst
/qemu/docs/system/target-arm.rst
/qemu/hw/arm/Kconfig
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/b-l475e-iot01a.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/msf2-som.c
/qemu/hw/arm/netduino2.c
/qemu/hw/arm/netduinoplus2.c
/qemu/hw/arm/olimex-stm32-h405.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/stm32f100_soc.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/arm/stm32f405_soc.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/stm32vldiscovery.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/core/machine.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/vga-helpers.h
/qemu/hw/display/vga.c
/qemu/hw/display/vga_int.h
/qemu/hw/display/vga_regs.h
/qemu/hw/i386/acpi-microvm.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/loongarch_ipi.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/q800.c
/qemu/hw/nvram/fw_cfg-acpi.c
/qemu/hw/nvram/meson.build
/qemu/hw/pci-host/gpex-acpi.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/s390-ccw.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/virtio-acpi.c
aio.h
raw-aio.h
/qemu/include/chardev/char-fe.h
/qemu/include/hw/arm/armv7m.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/intc/loongarch_extioi.h
/qemu/include/hw/intc/loongarch_ipi.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/m68k/q800.h
/qemu/include/hw/nvram/fw_cfg_acpi.h
/qemu/include/hw/pci-host/gpex.h
/qemu/include/hw/riscv/virt.h
/qemu/include/hw/virtio/virtio-acpi.h
/qemu/include/qemu/fifo8.h
/qemu/include/qemu/osdep.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/vhost_types.h
/qemu/include/standard-headers/linux/virtio_config.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/kvm_int.h
/qemu/include/sysemu/replay.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-loongarch/bitsperlong.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-headers/asm-loongarch/mman.h
/qemu/linux-headers/asm-loongarch/unistd.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-riscv/ptrace.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/psp-sev.h
/qemu/linux-headers/linux/stddef.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vhost.h
/qemu/meson.build
/qemu/net/stream.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/qemu/qemu-options.hx
/qemu/replay/replay-char.c
/qemu/replay/replay-internal.c
/qemu/replay/replay-internal.h
/qemu/replay/replay-snapshot.c
/qemu/replay/replay.c
/qemu/roms/edk2
/qemu/roms/edk2-build.config
/qemu/roms/opensbi
/qemu/scripts/checkpatch.pl
/qemu/scripts/mtest2make.py
/qemu/scripts/replay-dump.py
/qemu/scripts/update-linux-headers.sh
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper.c
/qemu/target/arm/ptw.c
/qemu/target/arm/syndrome.h
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/tlb_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/kvm/kvm_loongarch.h
/qemu/target/loongarch/kvm/meson.build
/qemu/target/loongarch/meson.build
/qemu/target/loongarch/tcg/iocsr_helper.c
/qemu/target/loongarch/trace-events
/qemu/target/loongarch/trace.h
/qemu/target/riscv/cpu-qom.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/insn32.decode
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/qemu/target/riscv/insn_trans/trans_xthead.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/pmp.c
/qemu/target/riscv/pmp.h
/qemu/target/riscv/riscv-qmp-cmds.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/kvm/pv.c
/qemu/target/s390x/kvm/pv.h
/qemu/target/s390x/tcg/translate.c
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target-con-set.h
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/tcg.c
/qemu/tests/avocado/acpi-bits/bits-tests/smilatency.py2
/qemu/tests/avocado/kvm_xen_guest.py
/qemu/tests/avocado/machine_microblaze.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/avocado/replay_linux.py
/qemu/tests/data/acpi/virt/SSDT.memhp
/qemu/tests/fp/meson.build
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/netdev-socket.c
/qemu/tests/qtest/virtio-ccw-test.c
/qemu/tests/qtest/virtio-net-failover.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/lae.c
/qemu/tests/unit/meson.build
/qemu/util/cpuinfo-ppc.c
/qemu/util/fifo8.c
0b2675c402-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

Rename "QEMU global mutex" to "BQL" in comments and docs

The term "QEMU global mutex" is identical to the more widely used Big
QEMU Lock ("BQL"). Update the code comments and documentation to use
"B

Rename "QEMU global mutex" to "BQL" in comments and docs

The term "QEMU global mutex" is identical to the more widely used Big
QEMU Lock ("BQL"). Update the code comments and documentation to use
"BQL" instead of "QEMU global mutex".

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Message-id: 20240102153529.486531-6-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

195801d702-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

system/cpus: rename qemu_mutex_lock_iothread() to bql_lock()

The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonl

system/cpus: rename qemu_mutex_lock_iothread() to bql_lock()

The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonly
referred to as the BQL in discussions and some code comments. The
locking APIs, however, are called qemu_mutex_lock_iothread() and
qemu_mutex_unlock_iothread().

The "iothread" name is historic and comes from when the main thread was
split into into KVM vcpu threads and the "iothread" (now called the main
loop thread). I have contributed to the confusion myself by introducing
a separate --object iothread, a separate concept unrelated to the BQL.

The "iothread" name is no longer appropriate for the BQL. Rename the
locking APIs to:
- void bql_lock(void)
- void bql_unlock(void)
- bool bql_locked(void)

There are more APIs with "iothread" in their names. Subsequent patches
will rename them. There are also comments and documentation that will be
updated in later patches.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Acked-by: Fabiano Rosas <farosas@suse.de>
Acked-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Peter Xu <peterx@redhat.com>
Acked-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Acked-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-id: 20240102153529.486531-2-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/accel/accel-blocker.c
/qemu/accel/dummy-cpus.c
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/kvm/kvm-accel-ops.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tcg-accel-ops-icount.c
/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/qemu/accel/tcg/tcg-accel-ops-rr.c
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/translate-all.c
/qemu/audio/coreaudio.m
/qemu/cpu-common.c
/qemu/dump/dump.c
/qemu/hw/core/cpu-common.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/kvm/xen_overlay.c
/qemu/hw/i386/kvm/xen_xenstore.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/s390_flic.c
/qemu/hw/misc/edu.c
/qemu/hw/misc/imx6_src.c
/qemu/hw/misc/imx7_src.c
/qemu/hw/net/xen_nic.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_rng.c
/qemu/hw/ppc/spapr_softmmu.c
/qemu/hw/remote/mpqemu-link.c
/qemu/hw/remote/vfio-user-obj.c
/qemu/hw/s390x/s390-skeys.c
aio-wait.h
/qemu/include/qemu/main-loop.h
/qemu/include/qemu/thread.h
/qemu/memory_ldst.c.inc
/qemu/migration/block-dirty-bitmap.c
/qemu/migration/block.c
/qemu/migration/colo.c
/qemu/migration/dirtyrate.c
/qemu/migration/migration.c
/qemu/migration/ram.c
/qemu/replay/replay-internal.c
/qemu/semihosting/console.c
/qemu/stubs/iothread-lock.c
/qemu/system/cpu-throttle.c
/qemu/system/cpus.c
/qemu/system/dirtylimit.c
/qemu/system/memory.c
/qemu/system/physmem.c
/qemu/system/runstate.c
/qemu/system/watchpoint.c
/qemu/target/arm/arm-powerctl.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/kvm.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/m_helper.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/psci.c
/qemu/target/hppa/int_helper.c
/qemu/target/i386/hvf/README.md
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/xen-emu.c
/qemu/target/i386/nvmm/nvmm-accel-ops.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/tcg/sysemu/fpu_helper.c
/qemu/target/i386/tcg/sysemu/misc_helper.c
/qemu/target/i386/whpx/whpx-accel-ops.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/loongarch/tcg/csr_helper.c
/qemu/target/mips/kvm.c
/qemu/target/mips/tcg/sysemu/cp0_helper.c
/qemu/target/openrisc/sys_helper.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/kvm.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/timebase_helper.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/tcg/misc_helper.c
/qemu/target/sparc/int32_helper.c
/qemu/target/sparc/int64_helper.c
/qemu/target/sparc/win_helper.c
/qemu/target/xtensa/exc_helper.c
/qemu/ui/cocoa.m
/qemu/ui/spice-core.c
/qemu/util/async.c
/qemu/util/main-loop.c
/qemu/util/qsp.c
/qemu/util/rcu.c
897a06c620-Nov-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

iothread: Remove unused Error** argument in aio_context_set_aio_params

aio_context_set_aio_params() doesn't use its undocumented
Error** argument. Remove it to simplify.

Note this removes a use of

iothread: Remove unused Error** argument in aio_context_set_aio_params

aio_context_set_aio_params() doesn't use its undocumented
Error** argument. Remove it to simplify.

Note this removes a use of "unchecked Error**" in
iothread_set_aio_context_params().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231120171806.19361-1-philmd@linaro.org>

show more ...


/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/accel/kvm/kvm-all.c
/qemu/accel/kvm/trace-events
/qemu/accel/tcg/meson.build
/qemu/audio/audio.c
/qemu/backends/dbus-vmstate.c
/qemu/backends/hostmem-epc.c
/qemu/backends/hostmem-file.c
/qemu/backends/hostmem-memfd.c
/qemu/backends/hostmem-ram.c
/qemu/backends/hostmem.c
/qemu/backends/iommufd.c
/qemu/backends/meson.build
/qemu/backends/tpm/tpm_emulator.c
/qemu/block/meson.build
/qemu/bsd-user/main.c
/qemu/bsd-user/meson.build
/qemu/chardev/char.c
/qemu/chardev/meson.build
/qemu/configure
/qemu/contrib/ivshmem-client/meson.build
/qemu/contrib/ivshmem-server/meson.build
/qemu/contrib/vhost-user-blk/meson.build
/qemu/contrib/vhost-user-input/meson.build
/qemu/contrib/vhost-user-scsi/meson.build
/qemu/cpu-target.c
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/clocks.rst
/qemu/docs/devel/kconfig.rst
/qemu/docs/devel/migration.rst
/qemu/docs/system/arm/palm.rst
/qemu/docs/system/arm/xscale.rst
/qemu/docs/system/devices/can.rst
/qemu/docs/tools/qemu-img.rst
/qemu/fsdev/meson.build
/qemu/gdbstub/meson.build
/qemu/hw/9pfs/meson.build
/qemu/hw/9pfs/virtio-9p-device.c
/qemu/hw/acpi/cpu.c
/qemu/hw/acpi/cpu_hotplug.c
/qemu/hw/acpi/erst.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/ich9.c
/qemu/hw/acpi/ich9_tco.c
/qemu/hw/acpi/memory_hotplug.c
/qemu/hw/acpi/meson.build
/qemu/hw/acpi/pcihp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/adc/aspeed_adc.c
/qemu/hw/adc/max111x.c
/qemu/hw/adc/npcm7xx_adc.c
/qemu/hw/adc/stm32f2xx_adc.c
/qemu/hw/adc/zynq-xadc.c
/qemu/hw/arm/armsse.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/bananapi_m2u.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/cubieboard.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx31.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/msf2-som.c
/qemu/hw/arm/musca.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/npcm7xx_boards.c
/qemu/hw/arm/nrf51_soc.c
/qemu/hw/arm/orangepi.c
/qemu/hw/arm/pxa2xx.c
/qemu/hw/arm/pxa2xx_gpio.c
/qemu/hw/arm/pxa2xx_pic.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/spitz.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/z2.c
/qemu/hw/audio/ac97.c
/qemu/hw/audio/asc.c
/qemu/hw/audio/cs4231.c
/qemu/hw/audio/cs4231a.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/gus.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/audio/lm4549.c
/qemu/hw/audio/marvell_88w8618.c
/qemu/hw/audio/pcspk.c
/qemu/hw/audio/pl041.c
/qemu/hw/audio/sb16.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/audio/wm8750.c
/qemu/hw/block/dataplane/virtio-blk.c
/qemu/hw/block/dataplane/virtio-blk.h
/qemu/hw/block/ecc.c
/qemu/hw/block/fdc-isa.c
/qemu/hw/block/fdc-sysbus.c
/qemu/hw/block/fdc.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/onenand.c
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/swim.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/cmsdk-apb-uart.c
/qemu/hw/char/digic-uart.c
/qemu/hw/char/escc.c
/qemu/hw/char/exynos4210_uart.c
/qemu/hw/char/goldfish_tty.c
/qemu/hw/char/ibex_uart.c
/qemu/hw/char/imx_serial.c
/qemu/hw/char/ipoctal232.c
/qemu/hw/char/mchp_pfsoc_mmuart.c
/qemu/hw/char/nrf51_uart.c
/qemu/hw/char/parallel.c
/qemu/hw/char/pl011.c
/qemu/hw/char/renesas_sci.c
/qemu/hw/char/sclpconsole-lm.c
/qemu/hw/char/sclpconsole.c
/qemu/hw/char/serial-isa.c
/qemu/hw/char/serial-pci-multi.c
/qemu/hw/char/serial-pci.c
/qemu/hw/char/serial.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/char/spapr_vty.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/clock-vmstate.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/machine.c
/qemu/hw/core/or-irq.c
/qemu/hw/core/ptimer.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/cpu/cluster.c
/qemu/hw/cpu/core.c
/qemu/hw/cxl/meson.build
/qemu/hw/display/artist.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/bochs-display.c
/qemu/hw/display/cg3.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/dpcd.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/g364fb.c
/qemu/hw/display/i2c-ddc.c
/qemu/hw/display/jazz_led.c
/qemu/hw/display/macfb.c
/qemu/hw/display/meson.build
/qemu/hw/display/pl110.c
/qemu/hw/display/pxa2xx_lcd.c
/qemu/hw/display/qxl.c
/qemu/hw/display/ramfb-standalone.c
/qemu/hw/display/ramfb.c
/qemu/hw/display/sii9022.c
/qemu/hw/display/sm501.c
/qemu/hw/display/ssd0303.c
/qemu/hw/display/ssd0323.c
/qemu/hw/display/tcx.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu-base.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/display/xlnx_dp.c
/qemu/hw/dma/bcm2835_dma.c
/qemu/hw/dma/i82374.c
/qemu/hw/dma/i8257.c
/qemu/hw/dma/pl080.c
/qemu/hw/dma/pl330.c
/qemu/hw/dma/pxa2xx_dma.c
/qemu/hw/dma/rc4030.c
/qemu/hw/dma/sparc32_dma.c
/qemu/hw/dma/xlnx-zdma.c
/qemu/hw/dma/xlnx-zynq-devcfg.c
/qemu/hw/dma/xlnx_csu_dma.c
/qemu/hw/dma/xlnx_dpdma.c
/qemu/hw/gpio/aspeed_gpio.c
/qemu/hw/gpio/bcm2835_gpio.c
/qemu/hw/gpio/gpio_key.c
/qemu/hw/gpio/imx_gpio.c
/qemu/hw/gpio/max7310.c
/qemu/hw/gpio/mpc8xxx.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/nrf51_gpio.c
/qemu/hw/gpio/pl061.c
/qemu/hw/gpio/sifive_gpio.c
/qemu/hw/gpio/zaurus.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/allwinner-i2c.c
/qemu/hw/i2c/aspeed_i2c.c
/qemu/hw/i2c/core.c
/qemu/hw/i2c/exynos4210_i2c.c
/qemu/hw/i2c/imx_i2c.c
/qemu/hw/i2c/microbit_i2c.c
/qemu/hw/i2c/mpc_i2c.c
/qemu/hw/i2c/npcm7xx_smbus.c
/qemu/hw/i2c/pm_smbus.c
/qemu/hw/i2c/pmbus_device.c
/qemu/hw/i2c/smbus_eeprom.c
/qemu/hw/i2c/smbus_ich9.c
/qemu/hw/i2c/smbus_slave.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/clock.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/kvm/xen_gnttab.c
/qemu/hw/i386/kvm/xen_overlay.c
/qemu/hw/i386/kvm/xen_xenstore.c
/qemu/hw/i386/kvmvapic.c
/qemu/hw/i386/port92.c
/qemu/hw/i386/sgx-stub.c
/qemu/hw/i386/vmmouse.c
/qemu/hw/i386/xen/xen_platform.c
/qemu/hw/i386/xen/xen_pvdevice.c
/qemu/hw/ide/ahci-allwinner.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ich.c
/qemu/hw/ide/isa.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/microdrive.c
/qemu/hw/ide/mmio.c
/qemu/hw/ide/pci.c
/qemu/hw/input/adb-kbd.c
/qemu/hw/input/adb-mouse.c
/qemu/hw/input/adb.c
/qemu/hw/input/ads7846.c
/qemu/hw/input/hid.c
/qemu/hw/input/lasips2.c
/qemu/hw/input/lm832x.c
/qemu/hw/input/pckbd.c
/qemu/hw/input/pl050.c
/qemu/hw/input/ps2.c
/qemu/hw/input/pxa2xx_keypad.c
/qemu/hw/input/stellaris_gamepad.c
/qemu/hw/input/tsc2005.c
/qemu/hw/input/tsc210x.c
/qemu/hw/input/virtio-input.c
/qemu/hw/intc/allwinner-a10-pic.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/aspeed_vic.c
/qemu/hw/intc/bcm2835_ic.c
/qemu/hw/intc/bcm2836_control.c
/qemu/hw/intc/exynos4210_combiner.c
/qemu/hw/intc/goldfish_pic.c
/qemu/hw/intc/heathrow_pic.c
/qemu/hw/intc/i8259_common.c
/qemu/hw/intc/imx_avic.c
/qemu/hw/intc/imx_gpcv2.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/loongarch_ipi.c
/qemu/hw/intc/loongarch_pch_pic.c
/qemu/hw/intc/m68k_irqc.c
/qemu/hw/intc/nios2_vic.c
/qemu/hw/intc/ompic.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/pl190.c
/qemu/hw/intc/ppc-uic.c
/qemu/hw/intc/riscv_aclint.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/intc/riscv_imsic.c
/qemu/hw/intc/rx_icu.c
/qemu/hw/intc/s390_flic.c
/qemu/hw/intc/s390_flic_kvm.c
/qemu/hw/intc/sifive_plic.c
/qemu/hw/intc/slavio_intctl.c
/qemu/hw/intc/spapr_xive.c
/qemu/hw/intc/xics.c
/qemu/hw/intc/xive.c
/qemu/hw/intc/xlnx-pmu-iomod-intc.c
/qemu/hw/intc/xlnx-zynqmp-ipi.c
/qemu/hw/ipack/ipack.c
/qemu/hw/ipack/tpci200.c
/qemu/hw/ipmi/ipmi_bmc_extern.c
/qemu/hw/ipmi/ipmi_bmc_sim.c
/qemu/hw/ipmi/ipmi_bt.c
/qemu/hw/ipmi/ipmi_kcs.c
/qemu/hw/ipmi/isa_ipmi_bt.c
/qemu/hw/ipmi/isa_ipmi_kcs.c
/qemu/hw/ipmi/pci_ipmi_bt.c
/qemu/hw/ipmi/pci_ipmi_kcs.c
/qemu/hw/ipmi/smbus_ipmi.c
/qemu/hw/isa/apm.c
/qemu/hw/isa/i82378.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/pc87312.c
/qemu/hw/isa/piix.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/m68k/mcf5206.c
/qemu/hw/m68k/next-cube.c
/qemu/hw/m68k/q800-glue.c
/qemu/hw/mem/meson.build
/qemu/hw/mips/cps.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/malta.c
/qemu/hw/mips/meson.build
/qemu/hw/mips/mipssim.c
/qemu/hw/misc/a9scu.c
/qemu/hw/misc/allwinner-a10-ccm.c
/qemu/hw/misc/allwinner-a10-dramc.c
/qemu/hw/misc/allwinner-cpucfg.c
/qemu/hw/misc/allwinner-h3-ccu.c
/qemu/hw/misc/allwinner-h3-dramc.c
/qemu/hw/misc/allwinner-h3-sysctrl.c
/qemu/hw/misc/allwinner-r40-ccu.c
/qemu/hw/misc/allwinner-r40-dramc.c
/qemu/hw/misc/allwinner-sid.c
/qemu/hw/misc/allwinner-sramc.c
/qemu/hw/misc/arm_l2x0.c
/qemu/hw/misc/arm_sysctl.c
/qemu/hw/misc/armsse-cpu-pwrctrl.c
/qemu/hw/misc/armsse-mhu.c
/qemu/hw/misc/aspeed_hace.c
/qemu/hw/misc/aspeed_i3c.c
/qemu/hw/misc/aspeed_lpc.c
/qemu/hw/misc/aspeed_sbc.c
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/aspeed_sdmc.c
/qemu/hw/misc/aspeed_xdma.c
/qemu/hw/misc/axp2xx.c
/qemu/hw/misc/bcm2835_cprman.c
/qemu/hw/misc/bcm2835_mbox.c
/qemu/hw/misc/bcm2835_mphi.c
/qemu/hw/misc/bcm2835_powermgt.c
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/bcm2835_rng.c
/qemu/hw/misc/bcm2835_thermal.c
/qemu/hw/misc/djmemc.c
/qemu/hw/misc/eccmemctl.c
/qemu/hw/misc/edu.c
/qemu/hw/misc/exynos4210_clk.c
/qemu/hw/misc/exynos4210_pmu.c
/qemu/hw/misc/exynos4210_rng.c
/qemu/hw/misc/imx25_ccm.c
/qemu/hw/misc/imx31_ccm.c
/qemu/hw/misc/imx6_ccm.c
/qemu/hw/misc/imx6_src.c
/qemu/hw/misc/imx6ul_ccm.c
/qemu/hw/misc/imx7_ccm.c
/qemu/hw/misc/imx7_snvs.c
/qemu/hw/misc/imx7_src.c
/qemu/hw/misc/imx_rngc.c
/qemu/hw/misc/iosb.c
/qemu/hw/misc/iotkit-secctl.c
/qemu/hw/misc/iotkit-sysctl.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/lasi.c
/qemu/hw/misc/led.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/gpio.c
/qemu/hw/misc/macio/mac_dbdma.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mips_cmgcr.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/msf2-sysreg.c
/qemu/hw/misc/mst_fpga.c
/qemu/hw/misc/npcm7xx_clk.c
/qemu/hw/misc/npcm7xx_gcr.c
/qemu/hw/misc/npcm7xx_mft.c
/qemu/hw/misc/npcm7xx_pwm.c
/qemu/hw/misc/npcm7xx_rng.c
/qemu/hw/misc/nrf51_rng.c
/qemu/hw/misc/pca9552.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/slavio_misc.c
/qemu/hw/misc/stm32f4xx_exti.c
/qemu/hw/misc/stm32f4xx_syscfg.c
/qemu/hw/misc/tz-mpc.c
/qemu/hw/misc/tz-msc.c
/qemu/hw/misc/tz-ppc.c
/qemu/hw/misc/virt_ctrl.c
/qemu/hw/misc/vmcoreinfo.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-cfu.c
/qemu/hw/misc/xlnx-versal-crl.c
/qemu/hw/misc/xlnx-versal-pmc-iou-slcr.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/misc/xlnx-versal-xramc.c
/qemu/hw/misc/xlnx-zynqmp-apu-ctrl.c
/qemu/hw/misc/xlnx-zynqmp-crf.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/can/can_kvaser_pci.c
/qemu/hw/net/can/can_mioe3680_pci.c
/qemu/hw/net/can/can_pcm3680_pci.c
/qemu/hw/net/can/can_sja1000.c
/qemu/hw/net/can/ctucan_core.c
/qemu/hw/net/can/ctucan_pci.c
/qemu/hw/net/can/xlnx-versal-canfd.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/i82596.c
/qemu/hw/net/igb.c
/qemu/hw/net/imx_fec.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lance.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/meson.build
/qemu/hw/net/mipsnet.c
/qemu/hw/net/msf2-emac.c
/qemu/hw/net/mv88w8618_eth.c
/qemu/hw/net/ne2000-isa.c
/qemu/hw/net/ne2000-pci.c
/qemu/hw/net/ne2000.c
/qemu/hw/net/npcm7xx_emc.c
/qemu/hw/net/pcnet-pci.c
/qemu/hw/net/pcnet.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/stellaris_enet.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xgmac.c
/qemu/hw/nvram/ds1225y.c
/qemu/hw/nvram/eeprom93xx.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/nvram/npcm7xx_otp.c
/qemu/hw/nvram/nrf51_nvm.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/nvram/xlnx-zynqmp-efuse.c
/qemu/hw/openrisc/cputimer.c
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/i82801b11.c
/qemu/hw/pci-bridge/ioh3420.c
/qemu/hw/pci-bridge/meson.build
/qemu/hw/pci-bridge/pci_bridge_dev.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-bridge/xio3130_upstream.c
/qemu/hw/pci-host/astro.c
/qemu/hw/pci-host/bonito.c
/qemu/hw/pci-host/designware.c
/qemu/hw/pci-host/dino.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/gt64120.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/raven.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci/meson.build
/qemu/hw/pci/msix.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_host.c
/qemu/hw/pci/pcie_aer.c
/qemu/hw/pci/shpc.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/meson.build
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc4xx_pci.c
/qemu/hw/ppc/prep_systemio.c
/qemu/hw/ppc/rs6000_mc.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_ovec.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rtc.c
/qemu/hw/ppc/spapr_vio.c
/qemu/hw/remote/meson.build
/qemu/hw/riscv/shakti_c.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/rtc/allwinner-rtc.c
/qemu/hw/rtc/aspeed_rtc.c
/qemu/hw/rtc/ds1338.c
/qemu/hw/rtc/exynos4210_rtc.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/rtc/ls7a_rtc.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/rtc/pl031.c
/qemu/hw/rtc/twl92230.c
/qemu/hw/rtc/xlnx-zynqmp-rtc.c
/qemu/hw/s390x/ccw-device.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/event-facility.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/sclpquiesce.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/scsi/esp-pci.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/allwinner-sdhost.c
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/bcm2835_sdhost.c
/qemu/hw/sd/cadence_sdhci.c
/qemu/hw/sd/npcm7xx_sdhci.c
/qemu/hw/sd/pl181.c
/qemu/hw/sd/pxa2xx_mmci.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sd/ssi-sd.c
/qemu/hw/sensor/adm1266.c
/qemu/hw/sensor/adm1272.c
/qemu/hw/sensor/dps310.c
/qemu/hw/sensor/emc141x.c
/qemu/hw/sensor/lsm303dlhc_mag.c
/qemu/hw/sensor/max31785.c
/qemu/hw/sensor/max34451.c
/qemu/hw/sensor/tmp105.c
/qemu/hw/sensor/tmp421.c
/qemu/hw/smbios/meson.build
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc/sun4m_iommu.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/ssi/ibex_spi_host.c
/qemu/hw/ssi/imx_spi.c
/qemu/hw/ssi/mss-spi.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/ssi/npcm_pspi.c
/qemu/hw/ssi/pl022.c
/qemu/hw/ssi/ssi.c
/qemu/hw/ssi/stm32f2xx_spi.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/ssi/xlnx-versal-ospi.c
/qemu/hw/timer/a9gtimer.c
/qemu/hw/timer/allwinner-a10-pit.c
/qemu/hw/timer/arm_mptimer.c
/qemu/hw/timer/arm_timer.c
/qemu/hw/timer/armv7m_systick.c
/qemu/hw/timer/aspeed_timer.c
/qemu/hw/timer/bcm2835_systmr.c
/qemu/hw/timer/cadence_ttc.c
/qemu/hw/timer/cmsdk-apb-dualtimer.c
/qemu/hw/timer/cmsdk-apb-timer.c
/qemu/hw/timer/digic-timer.c
/qemu/hw/timer/etraxfs_timer.c
/qemu/hw/timer/exynos4210_mct.c
/qemu/hw/timer/exynos4210_pwm.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/i8254_common.c
/qemu/hw/timer/ibex_timer.c
/qemu/hw/timer/imx_epit.c
/qemu/hw/timer/imx_gpt.c
/qemu/hw/timer/mss-timer.c
/qemu/hw/timer/npcm7xx_timer.c
/qemu/hw/timer/nrf51_timer.c
/qemu/hw/timer/pxa2xx_timer.c
/qemu/hw/timer/renesas_cmt.c
/qemu/hw/timer/renesas_tmr.c
/qemu/hw/timer/sifive_pwm.c
/qemu/hw/timer/slavio_timer.c
/qemu/hw/timer/sse-counter.c
/qemu/hw/timer/sse-timer.c
/qemu/hw/timer/stellaris-gptm.c
/qemu/hw/timer/stm32f2xx_timer.c
/qemu/hw/tpm/tpm_crb.c
/qemu/hw/tpm/tpm_spapr.c
/qemu/hw/tpm/tpm_tis_common.c
/qemu/hw/tpm/tpm_tis_i2c.c
/qemu/hw/tpm/tpm_tis_isa.c
/qemu/hw/tpm/tpm_tis_sysbus.c
/qemu/hw/usb/bus.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/usb/dev-hid.c
/qemu/hw/usb/dev-hub.c
/qemu/hw/usb/dev-mtp.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/hcd-dwc3.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ehci.c
/qemu/hw/usb/hcd-ohci-pci.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-sysbus.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/host-libusb.c
/qemu/hw/usb/imx-usb-phy.c
/qemu/hw/usb/meson.build
/qemu/hw/usb/redirect.c
/qemu/hw/usb/u2f-passthru.c
/qemu/hw/usb/u2f.c
/qemu/hw/usb/xlnx-versal-usb2-ctrl-regs.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container-base.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/display.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/spapr.c
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-backend.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-mmio.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-rng.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/allwinner-wdt.c
/qemu/hw/watchdog/cmsdk-apb-watchdog.c
/qemu/hw/watchdog/sbsa_gwdt.c
/qemu/hw/watchdog/spapr_watchdog.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/hw/watchdog/wdt_diag288.c
/qemu/hw/watchdog/wdt_i6300esb.c
/qemu/hw/watchdog/wdt_ib700.c
/qemu/hw/watchdog/wdt_imx2.c
/qemu/hw/xen/xen-hvm-common.c
aio.h
/qemu/include/exec/memory.h
/qemu/include/hw/boards.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/pci/shpc.h
/qemu/include/hw/ppc/xive2_regs.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/vfio/vfio-container-base.h
/qemu/include/hw/virtio/vhost-backend.h
/qemu/include/hw/virtio/vhost-vdpa.h
/qemu/include/hw/virtio/virtio-blk.h
/qemu/include/hw/virtio/virtio-scsi.h
/qemu/include/migration/snapshot.h
/qemu/include/migration/vmstate.h
/qemu/include/qapi/string-output-visitor.h
/qemu/include/qemu/osdep.h
/qemu/include/sysemu/hostmem.h
/qemu/include/sysemu/iommufd.h
/qemu/include/sysemu/runstate.h
/qemu/include/ui/rect.h
/qemu/iothread.c
/qemu/linux-user/alpha/target_elf.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/channel.c
/qemu/migration/dirtyrate.c
/qemu/migration/global_state.c
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/options.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/vmstate.c
/qemu/net/can/meson.build
/qemu/net/meson.build
/qemu/net/vhost-vdpa.c
/qemu/plugins/meson.build
/qemu/qapi/misc.json
/qemu/qapi/run-state.json
/qemu/qapi/string-output-visitor.c
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/qga/meson.build
/qemu/replay/replay-snapshot.c
/qemu/scripts/block-coroutine-wrapper.py
/qemu/scsi/meson.build
/qemu/storage-daemon/meson.build
/qemu/system/cpu-timers.c
/qemu/system/cpus.c
/qemu/system/memory.c
/qemu/system/meson.build
/qemu/system/runstate.c
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/machine.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/machine.c
/qemu/target/arm/meson.build
/qemu/target/avr/cpu.c
/qemu/target/avr/cpu.h
/qemu/target/avr/machine.c
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/cris/machine.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/machine.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/machine.c
/qemu/target/i386/tcg/cc_helper.c
/qemu/target/i386/tcg/decode-new.c.inc
/qemu/target/i386/tcg/decode-new.h
/qemu/target/i386/tcg/emit.c.inc
/qemu/target/i386/tcg/excp_helper.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/i386/tcg/helper-tcg.h
/qemu/target/i386/tcg/int_helper.c
/qemu/target/i386/tcg/misc_helper.c
/qemu/target/i386/tcg/seg_helper.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/loongarch/machine.c
/qemu/target/loongarch/meson.build
/qemu/target/loongarch/tcg/constant_timer.c
/qemu/target/loongarch/tcg/csr_helper.c
/qemu/target/loongarch/tcg/fpu_helper.c
/qemu/target/loongarch/tcg/insn_trans/trans_arith.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_bit.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_branch.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_extra.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_farith.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_fcmp.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_fcnv.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_fmemory.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_fmov.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_memory.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_shift.c.inc
/qemu/target/loongarch/tcg/insn_trans/trans_vec.c.inc
/qemu/target/loongarch/tcg/iocsr_helper.c
/qemu/target/loongarch/tcg/meson.build
/qemu/target/loongarch/tcg/op_helper.c
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/loongarch/tcg/translate.c
/qemu/target/loongarch/tcg/vec_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/helper.c
/qemu/target/microblaze/machine.c
/qemu/target/mips/cpu-defs.c.inc
/qemu/target/mips/cpu.h
/qemu/target/mips/meson.build
/qemu/target/mips/sysemu/machine.c
/qemu/target/mips/sysemu/mips-qmp-cmds.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/openrisc/machine.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/machine.c
/qemu/target/ppc/ppc-qmp-cmds.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/csr.c
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/machine.c
/qemu/target/riscv/riscv-qmp-cmds.c
/qemu/target/rx/cpu.c
/qemu/target/rx/cpu.h
/qemu/target/s390x/machine.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sparc/cpu.h
/qemu/target/sparc/int32_helper.c
/qemu/target/sparc/machine.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/tricore/helper.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/helper.c
/qemu/tcg/meson.build
/qemu/tests/bench/meson.build
/qemu/tests/fp/meson.build
/qemu/tests/meson.build
/qemu/tests/migration/i386/Makefile
/qemu/tests/migration/i386/a-b-bootblock.S
/qemu/tests/migration/i386/a-b-bootblock.h
/qemu/tests/plugin/meson.build
/qemu/tests/qemu-iotests/meson.build
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-helpers.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/test-flags.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-vmstate.c
/qemu/trace/meson.build
/qemu/ui/dbus-display1.xml
/qemu/ui/meson.build
/qemu/util/aio-posix.c
/qemu/util/aio-win32.c
/qemu/util/fifo8.c
/qemu/util/main-loop.c
/qemu/util/meson.build
/qemu/util/oslib-posix.c
/qemu/util/oslib-win32.c
23c983c805-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

block: remove outdated AioContext locking comments

The AioContext lock no longer exists.

There is one noteworthy change:

- * More specifically, these functions use BDRV_POLL_WHILE(bs), which
-

block: remove outdated AioContext locking comments

The AioContext lock no longer exists.

There is one noteworthy change:

- * More specifically, these functions use BDRV_POLL_WHILE(bs), which
- * requires the caller to be either in the main thread and hold
- * the BlockdriverState (bs) AioContext lock, or directly in the
- * home thread that runs the bs AioContext. Calling them from
- * another thread in another AioContext would cause deadlocks.
+ * More specifically, these functions use BDRV_POLL_WHILE(bs), which requires
+ * the caller to be either in the main thread or directly in the home thread
+ * that runs the bs AioContext. Calling them from another thread in another
+ * AioContext would cause deadlocks.

I am not sure whether deadlocks are still possible. Maybe they have just
moved to the fine-grained locks that have replaced the AioContext. Since
I am not sure if the deadlocks are gone, I have kept the substance
unchanged and just removed mention of the AioContext.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-ID: <20231205182011.1976568-15-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

9f8d2fdc05-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

aio: remove aio_context_acquire()/aio_context_release() API

Delete these functions because nothing calls these functions anymore.

I introduced these APIs in commit 98563fc3ec44 ("aio: add
aio_conte

aio: remove aio_context_acquire()/aio_context_release() API

Delete these functions because nothing calls these functions anymore.

I introduced these APIs in commit 98563fc3ec44 ("aio: add
aio_context_acquire() and aio_context_release()") in 2014. It's with a
sigh of relief that I delete these APIs almost 10 years later.

Thanks to Paolo Bonzini's vision for multi-queue QEMU, we got an
understanding of where the code needed to go in order to remove the
limitations that the original dataplane and the IOThread/AioContext
approach that followed it.

Emanuele Giuseppe Esposito had the splendid determination to convert
large parts of the codebase so that they no longer needed the AioContext
lock. This was a painstaking process, both in the actual code changes
required and the iterations of code review that Emanuele eked out of
Kevin and me over many months.

Kevin Wolf tackled multitudes of graph locking conversions to protect
in-flight I/O from run-time changes to the block graph as well as the
clang Thread Safety Analysis annotations that allow the compiler to
check whether the graph lock is being used correctly.

And me, well, I'm just here to add some pizzazz to the QEMU multi-queue
block layer :). Thank you to everyone who helped with this effort,
including Eric Blake, code reviewer extraordinaire, and others who I've
forgotten to mention.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-ID: <20231205182011.1976568-11-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

95bbddf905-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

aio-wait: draw equivalence between AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED()

Now that the AioContext lock no longer exists, AIO_WAIT_WHILE() and
AIO_WAIT_WHILE_UNLOCKED() are equivalent.

A fut

aio-wait: draw equivalence between AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED()

Now that the AioContext lock no longer exists, AIO_WAIT_WHILE() and
AIO_WAIT_WHILE_UNLOCKED() are equivalent.

A future patch will get rid of AIO_WAIT_WHILE_UNLOCKED().

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-ID: <20231205182011.1976568-10-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

c43d5bc805-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

block: remove bdrv_co_lock()

The bdrv_co_lock() and bdrv_co_unlock() functions are already no-ops.
Remove them.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231205182011.1976

block: remove bdrv_co_lock()

The bdrv_co_lock() and bdrv_co_unlock() functions are already no-ops.
Remove them.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231205182011.1976568-8-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

b49f475505-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

block: remove AioContext locking

This is the big patch that removes
aio_context_acquire()/aio_context_release() from the block layer and
affected block layer users.

There isn't a clean way to split

block: remove AioContext locking

This is the big patch that removes
aio_context_acquire()/aio_context_release() from the block layer and
affected block layer users.

There isn't a clean way to split this patch and the reviewers are likely
the same group of people, so I decided to do it in one patch.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Message-ID: <20231205182011.1976568-7-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

6bc30f1905-Dec-2023 Stefan Hajnoczi <stefanha@redhat.com>

graph-lock: remove AioContext locking

Stop acquiring/releasing the AioContext lock in
bdrv_graph_wrlock()/bdrv_graph_unlock() since the lock no longer has any
effect.

The distinction between bdrv_g

graph-lock: remove AioContext locking

Stop acquiring/releasing the AioContext lock in
bdrv_graph_wrlock()/bdrv_graph_unlock() since the lock no longer has any
effect.

The distinction between bdrv_graph_wrunlock() and
bdrv_graph_wrunlock_ctx() becomes meaningless and they can be collapsed
into one function.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231205182011.1976568-6-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/cirrus/macos-13.vars
/qemu/.gitlab-ci.d/cirrus/macos-14.vars
/qemu/.gitlab-ci.d/container-cross.yml
/qemu/.gitlab-ci.d/containers.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/audio/audio.c
/qemu/backends/Kconfig
/qemu/backends/iommufd.c
/qemu/backends/meson.build
/qemu/backends/trace-events
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blklogwrites.c
/qemu/block/blkverify.c
/qemu/block/block-backend.c
/qemu/block/commit.c
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/file-posix.c
/qemu/block/graph-lock.c
/qemu/block/mirror.c
/qemu/block/qcow2.c
/qemu/block/quorum.c
/qemu/block/replication.c
/qemu/block/snapshot.c
/qemu/block/stream.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/configure
/qemu/contrib/plugins/Makefile
/qemu/disas/cris.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/emulation.rst
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/index-internals.rst
/qemu/docs/devel/s390-cpu-topology.rst
/qemu/docs/devel/testing.rst
/qemu/docs/devel/vfio-iommufd.rst
/qemu/docs/specs/tpm.rst
/qemu/docs/system/arm/xenpvh.rst
/qemu/docs/system/arm/xlnx-versal-virt.rst
/qemu/docs/system/gdb.rst
/qemu/docs/system/invocation.rst
/qemu/docs/system/qemu-manpage.rst
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hw/acpi/erst.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/netduino2.c
/qemu/hw/arm/netduinoplus2.c
/qemu/hw/arm/olimex-stm32-h405.c
/qemu/hw/arm/stm32f100_soc.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/arm/stm32f405_soc.c
/qemu/hw/arm/stm32vldiscovery.c
/qemu/hw/arm/virt.c
/qemu/hw/audio/hda-codec.c
/qemu/hw/audio/via-ac97.c
/qemu/hw/audio/virtio-snd-pci.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/avr/atmega.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/dma/xlnx_csu_dma.c
/qemu/hw/hppa/machine.c
/qemu/hw/i386/Kconfig
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ioport.c
/qemu/hw/ide/pci.c
/qemu/hw/ide/via.c
/qemu/hw/input/stellaris_gamepad.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/m68k/q800.c
/qemu/hw/m68k/virt.c
/qemu/hw/misc/imx7_snvs.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/allwinner-sun8i-emac.c
/qemu/hw/net/allwinner_emac.c
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/dp8393x.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/etraxfs_eth.c
/qemu/hw/net/fsl_etsec/etsec.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/i82596.c
/qemu/hw/net/igb.c
/qemu/hw/net/imx_fec.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/mcf_fec.c
/qemu/hw/net/mipsnet.c
/qemu/hw/net/msf2-emac.c
/qemu/hw/net/mv88w8618_eth.c
/qemu/hw/net/ne2000-isa.c
/qemu/hw/net/ne2000-pci.c
/qemu/hw/net/npcm7xx_emc.c
/qemu/hw/net/opencores_eth.c
/qemu/hw/net/pcnet.c
/qemu/hw/net/rocker/rocker_fp.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/spapr_llan.c
/qemu/hw/net/stellaris_enet.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/tulip.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xen_nic.c
/qemu/hw/net/xgmac.c
/qemu/hw/net/xilinx_axienet.c
/qemu/hw/net/xilinx_ethlite.c
/qemu/hw/nios2/10m50_devboard.c
/qemu/hw/nios2/generic_nommu.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/pci/msix.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/amigaone.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_pci_vfio.c
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/Kconfig
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/scsi/virtio-scsi-dataplane.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/ufs/ufs.c
/qemu/hw/usb/dev-network.c
/qemu/hw/usb/vt82c686-uhci-pci.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container-base.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/vfio/platform.c
/qemu/hw/vfio/spapr.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/virtio-iommu-pci.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
graph-lock.h
/qemu/include/exec/memory.h
/qemu/include/hw/arm/stm32f100_soc.h
/qemu/include/hw/arm/stm32f205_soc.h
/qemu/include/hw/arm/stm32f405_soc.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/internal.h
/qemu/include/hw/ide/pci.h
/qemu/include/hw/isa/vt82c686.h
/qemu/include/hw/misc/imx7_snvs.h
/qemu/include/hw/misc/xlnx-versal-cframe-reg.h
/qemu/include/hw/misc/xlnx-versal-cfu.h
/qemu/include/hw/misc/xlnx-versal-crl.h
/qemu/include/hw/misc/xlnx-versal-pmc-iou-slcr.h
/qemu/include/hw/nvram/xlnx-efuse.h
/qemu/include/hw/nvram/xlnx-versal-efuse.h
/qemu/include/hw/nvram/xlnx-zynqmp-efuse.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/ssi/xilinx_spips.h
/qemu/include/hw/ssi/xlnx-versal-ospi.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/vfio/vfio-container-base.h
/qemu/include/hw/virtio/virtio-blk.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio-scsi.h
/qemu/include/hw/xen/xen_native.h
/qemu/include/net/net.h
/qemu/include/qemu/chardev_open.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/vhost-user-server.h
/qemu/include/sysemu/iommufd.h
/qemu/include/sysemu/qtest.h
/qemu/include/ui/pixman-minimal.h
/qemu/linux-user/elfload.c
/qemu/linux-user/sh4/termbits.h
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/nbd/server.c
/qemu/net/net.c
/qemu/pc-bios/README
/qemu/pc-bios/bios-256k.bin
/qemu/pc-bios/bios-microvm.bin
/qemu/pc-bios/bios.bin
/qemu/pc-bios/hppa-firmware.img
/qemu/pc-bios/slof.bin
/qemu/pc-bios/vgabios-ati.bin
/qemu/pc-bios/vgabios-bochs-display.bin
/qemu/pc-bios/vgabios-cirrus.bin
/qemu/pc-bios/vgabios-qxl.bin
/qemu/pc-bios/vgabios-ramfb.bin
/qemu/pc-bios/vgabios-stdvga.bin
/qemu/pc-bios/vgabios-virtio.bin
/qemu/pc-bios/vgabios-vmware.bin
/qemu/pc-bios/vgabios.bin
/qemu/plugins/meson.build
/qemu/python/scripts/vendor.py
/qemu/python/wheels/meson-1.2.3-py3-none-any.whl
/qemu/pythondeps.toml
/qemu/qapi/qom.json
/qemu/qapi/string-output-visitor.c
/qemu/qemu-options.hx
/qemu/qga/meson.build
/qemu/qom/object.c
/qemu/roms/SLOF
/qemu/roms/seabios
/qemu/roms/seabios-hppa
/qemu/scripts/analyze-migration.py
/qemu/scripts/block-coroutine-wrapper.py
/qemu/scripts/coverity-scan/model.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/system/dma-helpers.c
/qemu/system/memory.c
/qemu/system/physmem.c
/qemu/system/qtest.c
/qemu/system/vl.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu64.c
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper.c
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/meson.build
/qemu/target/arm/syndrome.h
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/avr/cpu.c
/qemu/target/avr/cpu.h
/qemu/target/hexagon/idef-parser/prepare
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/tcg/tcg-cpu.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.c
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/tcg/loongarch64/tcg-target.c.inc
/qemu/tcg/tcg-op-ldst.c
/qemu/tcg/tcg.c
/qemu/tests/Makefile.include
/qemu/tests/avocado/boot_linux.py
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/intel_iommu.py
/qemu/tests/avocado/linux_initrd.py
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/avocado/machine_aspeed.py
/qemu/tests/avocado/machine_mips_malta.py
/qemu/tests/avocado/machine_rx_gdbsim.py
/qemu/tests/avocado/machine_s390_ccw_virtio.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/avocado/reverse_debugging.py
/qemu/tests/avocado/smmu.py
/qemu/tests/avocado/tuxrun_baselines.py
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/qemu/tests/docker/dockerfiles/debian.docker
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/refresh
/qemu/tests/plugin/meson.build
/qemu/tests/qemu-iotests/059
/qemu/tests/qemu-iotests/059.out
/qemu/tests/qemu-iotests/149
/qemu/tests/qemu-iotests/149.out
/qemu/tests/qemu-iotests/testenv.py
/qemu/tests/qemu-iotests/tests/iothreads-stream
/qemu/tests/qemu-iotests/tests/iothreads-stream.out
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/netdev-socket.c
/qemu/tests/qtest/npcm7xx_pwm-test.c
/qemu/tests/qtest/test-filter-mirror.c
/qemu/tests/qtest/test-filter-redirector.c
/qemu/tests/qtest/virtio-net-test.c
/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/qemu/tests/tcg/aarch64/system/vtimer.c
/qemu/tests/tcg/arm/Makefile.softmmu-target
/qemu/tests/tcg/arm/system/boot.S
/qemu/tests/tcg/arm/system/kernel.ld
/qemu/tests/tcg/arm/system/semiconsole.c
/qemu/tests/tcg/arm/system/test-armv6m-undef.S
/qemu/tests/tcg/arm/system/test-armv6m-undef.ld
/qemu/tests/tcg/multiarch/gdbstub/registers.py
/qemu/tests/tcg/ppc64/Makefile.target
/qemu/tests/tcg/ppc64/vsx_f2i_nan.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/unit/test-aio.c
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-bdrv-graph-mod.c
/qemu/tests/unit/test-io-task.c
/qemu/tests/unit/test-qmp-event.c
/qemu/ui/console.c
/qemu/ui/dbus.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk.c
/qemu/ui/spice-app.c
/qemu/ui/vnc-clipboard.c
/qemu/util/async.c
/qemu/util/chardev_open.c
/qemu/util/meson.build
/qemu/util/vhost-user-server.c
6bc0bcc815-Nov-2023 Kevin Wolf <kwolf@redhat.com>

block: Fix deadlocks in bdrv_graph_wrunlock()

bdrv_graph_wrunlock() calls aio_poll(), which may run callbacks that
have a nested event loop. Nested event loops can depend on other
iothreads making p

block: Fix deadlocks in bdrv_graph_wrunlock()

bdrv_graph_wrunlock() calls aio_poll(), which may run callbacks that
have a nested event loop. Nested event loops can depend on other
iothreads making progress, so in order to allow them to make progress it
must not hold the AioContext lock of another thread while calling
aio_poll().

This introduces a @bs parameter to bdrv_graph_wrunlock() whose
AioContext is temporarily dropped (which matches bdrv_graph_wrlock()),
and a bdrv_graph_wrunlock_ctx() that can be used if the BlockDriverState
doesn't necessarily exist any more when unlocking.

This also requires a change to bdrv_schedule_unref(), which was relying
on the incorrectly taken lock. It needs to take the lock itself now.
While this is a separate bug, it can't be fixed a separate patch because
otherwise the intermediate state would either deadlock or try to release
a lock that we don't even hold.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231115172012.112727-3-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[kwolf: Fixed up bdrv_schedule_unref()]
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tb-maint.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blklogwrites.c
/qemu/block/blkverify.c
/qemu/block/block-backend.c
/qemu/block/commit.c
/qemu/block/graph-lock.c
/qemu/block/mirror.c
/qemu/block/qcow2.c
/qemu/block/quorum.c
/qemu/block/replication.c
/qemu/block/snapshot.c
/qemu/block/stream.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/disas/hppa.c
/qemu/docs/devel/tcg-icount.rst
/qemu/docs/devel/testing.rst
/qemu/hw/ide/ahci.c
/qemu/hw/ppc/spapr_pci.c
graph-lock.h
/qemu/include/exec/translation-block.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/virtio/vhost.h
/qemu/linux-user/xtensa/signal.c
/qemu/monitor/hmp-cmds.c
/qemu/net/net.c
/qemu/qga/commands.c
/qemu/scripts/block-coroutine-wrapper.py
/qemu/system/balloon.c
/qemu/system/watchpoint.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/sparc/translate.c
/qemu/tests/avocado/avocado_qemu/__init__.py
/qemu/tests/avocado/cpu_queries.py
/qemu/tests/avocado/empty_cpu_model.py
/qemu/tests/avocado/intel_iommu.py
/qemu/tests/avocado/mem-addr-space-check.py
/qemu/tests/avocado/multiprocess.py
/qemu/tests/avocado/pc_cpu_hotplug_props.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/avocado/reverse_debugging.py
/qemu/tests/avocado/version.py
/qemu/tests/avocado/virtio-gpu.py
/qemu/tests/avocado/x86_cpu_model_versions.py
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/ufs-test.c
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-bdrv-graph-mod.c
/qemu/ui/ui-qmp-cmds.c
/qemu/util/filemonitor-inotify.c
/qemu/util/range.c
a4dbf3fe14-Nov-2023 Michael Tokarev <mjt@tls.msk.ru>

include/block/ufs.h: spelling fix: setted

Fixes: bc4e68d362ec "hw/ufs: Initial commit for emulated Universal-Flash-Storage"
Reviewed-by: Jeuk Kim <jeuk20.kim@samsung.com>
Reviewed-by: Thomas Huth <t

include/block/ufs.h: spelling fix: setted

Fixes: bc4e68d362ec "hw/ufs: Initial commit for emulated Universal-Flash-Storage"
Reviewed-by: Jeuk Kim <jeuk20.kim@samsung.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/stubs/tcg-stub.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/user-exec-stub.c
/qemu/audio/wavaudio.c
/qemu/block/snapshot.c
/qemu/bsd-user/bsd-mem.h
/qemu/bsd-user/freebsd/os-proc.c
/qemu/bsd-user/freebsd/os-stat.h
/qemu/bsd-user/main.c
/qemu/configs/devices/ppc-softmmu/default.mak
/qemu/configs/targets/loongarch64-linux-user.mak
/qemu/configure
/qemu/contrib/gitdm/domain-map
/qemu/contrib/plugins/Makefile
/qemu/contrib/plugins/win32_linker.c
/qemu/contrib/vhost-user-gpu/virgl.c
/qemu/cpu-common.c
/qemu/cpu-target.c
/qemu/crypto/rsakey-builtin.c.inc
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/migration.rst
/qemu/docs/devel/testing.rst
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/system/arm/emulation.rst
/qemu/dump/dump.c
/qemu/gdb-xml/arm-neon.xml
/qemu/gdbstub/gdbstub.c
/qemu/host/include/generic/host/atomic128-cas.h
/qemu/host/include/generic/host/atomic128-ldst.h
/qemu/hw/arm/Kconfig
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/cxl/cxl-mailbox-utils.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/hppa/machine.c
/qemu/hw/i2c/pmbus_device.c
/qemu/hw/i386/pc.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/core.c
/qemu/hw/isa/i82378.c
/qemu/hw/mem/memory-device.c
/qemu/hw/mips/Kconfig
/qemu/hw/net/cadence_gem.c
/qemu/hw/net/igb.c
/qemu/hw/net/igb_common.h
/qemu/hw/net/igb_core.c
/qemu/hw/net/igb_core.h
/qemu/hw/net/igbvf.c
/qemu/hw/net/trace-events
/qemu/hw/pci-host/Kconfig
/qemu/hw/pci-host/articia.c
/qemu/hw/pci-host/astro.c
/qemu/hw/pci-host/meson.build
/qemu/hw/pci-host/pnv_phb4.c
/qemu/hw/pci-host/pnv_phb4_pec.c
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/amigaone.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/meson.build
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/rx/rx62n.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/sclp.c
/qemu/hw/sd/aspeed_sdhci.c
/qemu/hw/sd/bcm2835_sdhost.c
/qemu/hw/sd/cadence_sdhci.c
/qemu/hw/sd/core.c
/qemu/hw/sd/npcm7xx_sdhci.c
/qemu/hw/sd/pl181.c
/qemu/hw/sd/pxa2xx_mmci.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci-pci.c
/qemu/hw/sd/ssi-sd.c
/qemu/hw/sensor/Kconfig
/qemu/hw/sensor/adm1266.c
/qemu/hw/sensor/meson.build
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/watchdog/wdt_aspeed.c
ufs.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/tb-flush.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/i2c/pmbus_device.h
/qemu/include/hw/i386/topology.h
/qemu/include/hw/loader.h
/qemu/include/hw/pci-host/articia.h
/qemu/include/hw/pci-host/pnv_phb4.h
/qemu/include/hw/pci-host/pnv_phb4_regs.h
/qemu/include/hw/ppc/pnv_chip.h
/qemu/include/hw/ppc/pnv_i2c.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/ppc.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/s390x/css.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/hw/xen/xen_native.h
/qemu/include/qemu/int128.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/qom/object.h
/qemu/include/sysemu/accel-ops.h
/qemu/include/sysemu/dump-arch.h
/qemu/include/sysemu/kvm.h
/qemu/io/net-listener.c
/qemu/linux-user/main.c
/qemu/linux-user/ppc/vdso.S
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/rdma.c
/qemu/pc-bios/hppa-firmware.img
/qemu/plugins/core.c
/qemu/plugins/meson.build
/qemu/qapi/migration.json
/qemu/qapi/pragma.json
/qemu/qom/object.c
/qemu/roms/seabios-hppa
/qemu/scripts/cpu-x86-uarch-abi.py
/qemu/scripts/feature_to_c.py
/qemu/scripts/qapi/schema.py
/qemu/scripts/tracetool/__init__.py
/qemu/system/cpus.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-qom.h
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/debug_helper.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/avr/cpu-qom.h
/qemu/target/avr/cpu.c
/qemu/target/avr/cpu.h
/qemu/target/cris/cpu-qom.h
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/hexagon/cpu-qom.h
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hppa/cpu-param.h
/qemu/target/hppa/cpu-qom.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/machine.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu-qom.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/x86_emu.c
/qemu/target/i386/hvf/x86_emu.h
/qemu/target/i386/kvm/kvm-cpu.c
/qemu/target/i386/monitor.c
/qemu/target/loongarch/cpu-qom.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/m68k/cpu-qom.h
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/microblaze/cpu-qom.h
/qemu/target/microblaze/cpu.h
/qemu/target/mips/cpu-qom.h
/qemu/target/mips/cpu.h
/qemu/target/mips/tcg/msa.decode
/qemu/target/mips/tcg/tx79.decode
/qemu/target/nios2/cpu-qom.h
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/openrisc/cpu-qom.h
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/meson.build
/qemu/target/riscv/cpu-qom.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/internals.h
/qemu/target/rx/cpu-qom.h
/qemu/target/rx/cpu.c
/qemu/target/rx/cpu.h
/qemu/target/s390x/arch_dump.c
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/cpu_models.h
/qemu/target/s390x/diag.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/kvm/stsi-topology.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/target/s390x/tcg/misc_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu-qom.h
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sparc/cpu-qom.h
/qemu/target/sparc/cpu.h
/qemu/target/tricore/cpu-qom.h
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/xtensa/cpu-qom.h
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/op_helper.c
/qemu/tests/avocado/machine_m68k_nextcube.py
/qemu/tests/avocado/machine_s390_ccw_virtio.py
/qemu/tests/avocado/mem-addr-space-check.py
/qemu/tests/avocado/ppc_amiga.py
/qemu/tests/avocado/tcg_plugins.py
/qemu/tests/avocado/tesseract_utils.py
/qemu/tests/data/qobject/qdict.txt
/qemu/tests/plugin/meson.build
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qtest/adm1266-test.c
/qemu/tests/qtest/ahci-test.c
/qemu/tests/qtest/max34451-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/registers.py
/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/qemu/tests/tcg/nios2/Makefile.target
/qemu/tests/tcg/ppc64/Makefile.target
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/add-logical-with-carry.c
/qemu/tests/tcg/s390x/clc.c
/qemu/tests/tcg/s390x/laalg.c
/qemu/tests/tsan/ignore.tsan
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-resv-mem.c
/qemu/tests/unit/test-seccomp.c
/qemu/tests/unit/test-x86-topo.c
/qemu/tests/vm/netbsd
/qemu/tests/vm/ubuntu.aarch64
/qemu/ui/sdl2.c
1f051dcb27-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Protect bs->file with graph_lock

Almost all functions that access bs->file already take the graph
lock now. Add locking to the remaining users and finally annotate the
struct field itself as

block: Protect bs->file with graph_lock

Almost all functions that access bs->file already take the graph
lock now. Add locking to the remaining users and finally annotate the
struct field itself as protected by the graph lock.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-25-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

79a5586627-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Add missing GRAPH_RDLOCK annotations

This adds GRAPH_RDLOCK to some driver callbacks that are already called
with the graph lock held, and which will need the annotation because
they access b

block: Add missing GRAPH_RDLOCK annotations

This adds GRAPH_RDLOCK to some driver callbacks that are already called
with the graph lock held, and which will need the annotation because
they access bs->file, but don't have it yet.

This also covers a few callbacks that were not marked GRAPH_RDLOCK
before, but where updating BlockDriver is trivially possible.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-21-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

e2dd273727-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Introduce bdrv_co_change_backing_file()

bdrv_change_backing_file() is called both inside and outside coroutine
context. This makes it difficult for it to take the graph lock
internally. It al

block: Introduce bdrv_co_change_backing_file()

bdrv_change_backing_file() is called both inside and outside coroutine
context. This makes it difficult for it to take the graph lock
internally. It also means that driver implementations need to be able to
run outside of coroutines, too. Switch it to the usual model with a
coroutine based implementation and a co_wrapper instead. The new
function is marked GRAPH_RDLOCK.

As the co_wrapper now runs the function in the AioContext of the node
(as it should always have done), this is not GLOBAL_STATE_CODE() any
more.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-20-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

004915a927-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Protect bs->backing with graph_lock

Almost all functions that access bs->backing already take the graph
lock now. Add locking to the remaining users and finally annotate the
struct field itse

block: Protect bs->backing with graph_lock

Almost all functions that access bs->backing already take the graph
lock now. Add locking to the remaining users and finally annotate the
struct field itself as protected by the graph lock.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-18-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

ccd6a37927-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_replace_node() GRAPH_WRLOCK

Instead of taking the writer lock internally, require callers to already
hold it when calling bdrv_replace_node(). Its callers may already want
to hold t

block: Mark bdrv_replace_node() GRAPH_WRLOCK

Instead of taking the writer lock internally, require callers to already
hold it when calling bdrv_replace_node(). Its callers may already want
to hold the graph lock and so wouldn't be able to call functions that
take it internally.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-17-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

d0f9fd9427-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_set_backing_hd_drained() GRAPH_WRLOCK

Instead of taking the writer lock internally, require callers to already
hold it when calling bdrv_set_backing_hd_drained(). Basically everthin

block: Mark bdrv_set_backing_hd_drained() GRAPH_WRLOCK

Instead of taking the writer lock internally, require callers to already
hold it when calling bdrv_set_backing_hd_drained(). Basically everthing
in the function needs the lock and its callers may already want to hold
the graph lock and so wouldn't be able to call functions that take it
internally.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-14-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

78a9c76e27-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_cow_child() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_cow_child() need to hold a reader lock for the graph because it
accesses bs->

block: Mark bdrv_cow_child() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_cow_child() need to hold a reader lock for the graph because it
accesses bs->backing.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-13-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

ec82cc4127-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_filter_child() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_filter_child() need to hold a reader lock for the graph because it
accesse

block: Mark bdrv_filter_child() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_filter_child() need to hold a reader lock for the graph because it
accesses bs->file/backing.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-12-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

79bb762727-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_chain_contains() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_chain_contains() need to hold a reader lock for the graph because
it cal

block: Mark bdrv_chain_contains() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_chain_contains() need to hold a reader lock for the graph because
it calls bdrv_filter_or_cow_bs(), which accesses bs->file/backing.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-11-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

9275fc7227-Oct-2023 Kevin Wolf <kwolf@redhat.com>

block: Mark bdrv_(un)freeze_backing_chain() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_(un)freeze_backing_chain() need to hold a reader lock for the

block: Mark bdrv_(un)freeze_backing_chain() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_(un)freeze_backing_chain() need to hold a reader lock for the
graph because it calls bdrv_filter_or_cow_child(), which accesses
bs->file/backing.

Use the opportunity to make bdrv_is_backing_chain_frozen() static, it
has no external callers.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-10-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

12345678910>>...62