History log of /qemu/nbd/ (Results 76 – 100 of 377)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
ded5d78c14-Nov-2020 Thomas Huth <thuth@redhat.com>

configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h

On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
Add a proper check for this header to our build system,

configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h

On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
Add a proper check for this header to our build system, and make sure
to include the header in tpm_ioctl.h to fix a build failure on Solaris
and Haiku.

Message-Id: <20201115152317.42752-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/qemu/.cirrus.yml
/qemu/.gitlab-ci.d/check-patch.py
/qemu/.gitlab-ci.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/stubs/hax-stub.c
/qemu/accel/tcg/translate-all.c
/qemu/audio/jackaudio.c
/qemu/authz/base.c
/qemu/authz/list.c
/qemu/authz/listfile.c
/qemu/authz/pamacct.c
/qemu/authz/simple.c
/qemu/backends/tpm/tpm_emulator.c
/qemu/backends/tpm/tpm_ioctl.h
/qemu/backends/tpm/tpm_passthrough.c
/qemu/backends/tpm/tpm_util.c
/qemu/block.c
/qemu/block/blkdebug.c
/qemu/block/crypto.c
/qemu/block/crypto.h
/qemu/block/dmg-lzfse.c
/qemu/block/dmg.c
/qemu/block/export/export.c
/qemu/block/export/meson.build
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/nfs.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/vpc.c
/qemu/block/vvfat.c
/qemu/bsd-user/main.c
/qemu/chardev/char-socket.c
/qemu/chardev/char.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/plugins/lockstep.c
/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/qemu/contrib/vhost-user-gpu/meson.build
/qemu/cpus-common.c
/qemu/default-configs/devices/mips-softmmu-common.mak
/qemu/disas/capstone.c
/qemu/disas/lm32.c
/qemu/docs/_templates/editpage.html
/qemu/docs/conf.py
/qemu/docs/devel/_templates/editpage.html
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/fuzzing.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/kconfig.rst
/qemu/docs/devel/qapi-code-gen.txt
/qemu/docs/interop/_templates/editpage.html
/qemu/docs/meson.build
/qemu/docs/qemu-option-trace.rst.inc
/qemu/docs/specs/_templates/editpage.html
/qemu/docs/specs/nvme.txt
/qemu/docs/specs/pci-ids.txt
/qemu/docs/system/_templates/editpage.html
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/deprecated.rst
/qemu/docs/system/target-arm.rst
/qemu/docs/tools/_templates/editpage.html
/qemu/docs/user/_templates/editpage.html
/qemu/exec-vary.c
/qemu/hmp-commands.hx
/qemu/hw/9pfs/9p-local.c
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/9p.h
/qemu/hw/9pfs/Kconfig
/qemu/hw/9pfs/cofs.c
/qemu/hw/9pfs/meson.build
/qemu/hw/acpi/core.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/hmat.c
/qemu/hw/acpi/hmat.h
/qemu/hw/acpi/ich9.c
/qemu/hw/acpi/nvdimm.c
/qemu/hw/acpi/pcihp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/armsse.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/audio/milkymist-ac97.c
/qemu/hw/block/meson.build
/qemu/hw/block/nvme-ns.c
/qemu/hw/block/nvme-ns.h
/qemu/hw/block/nvme.c
/qemu/hw/block/nvme.h
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/trace-events
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/char/lm32_juart.c
/qemu/hw/char/lm32_uart.c
/qemu/hw/char/milkymist-uart.c
/qemu/hw/core/bus.c
/qemu/hw/core/loader-fit.c
/qemu/hw/core/machine.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev.c
/qemu/hw/core/sysbus.c
/qemu/hw/display/ati_2d.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/meson.build
/qemu/hw/display/milkymist-tmu2.c
/qemu/hw/display/milkymist-vgafb.c
/qemu/hw/display/milkymist-vgafb_template.h
/qemu/hw/display/omap_lcdc.c
/qemu/hw/display/tcx.c
/qemu/hw/display/virtio-gpu-3d.c
/qemu/hw/dma/sparc32_dma.c
/qemu/hw/gpio/mpc8xxx.c
/qemu/hw/i2c/pm_smbus.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ahci_internal.h
/qemu/hw/ide/ich.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/qdev.c
/qemu/hw/input/milkymist-softusb.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gicv2m.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/ibex_plic.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/intc/lm32_pic.c
/qemu/hw/intc/loongson_liointc.c
/qemu/hw/intc/sifive_plic.c
/qemu/hw/intc/xics_pnv.c
/qemu/hw/isa/apm.c
/qemu/hw/isa/i82378.c
/qemu/hw/isa/isa-bus.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/lm32_hwsetup.h
/qemu/hw/lm32/milkymist.c
/qemu/hw/mem/memory-device.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mips/Kconfig
/qemu/hw/mips/boston.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/meson.build
/qemu/hw/misc/Kconfig
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/mchp_pfsoc_dmc.c
/qemu/hw/misc/mchp_pfsoc_ioscb.c
/qemu/hw/misc/mchp_pfsoc_sysreg.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/milkymist-hpdmc.c
/qemu/hw/misc/milkymist-pfpu.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/pvpanic.c
/qemu/hw/misc/stm32f2xx_syscfg.c
/qemu/hw/net/can/ctucan_core.c
/qemu/hw/net/can/ctucan_core.h
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000e_core.h
/qemu/hw/net/e1000x_common.c
/qemu/hw/net/e1000x_common.h
/qemu/hw/net/milkymist-minimac2.c
/qemu/hw/net/virtio-net.c
/qemu/hw/pci-bridge/i82801b11.c
/qemu/hw/pci-host/designware.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/pnv_xscom.c
/qemu/hw/ppc/ppce500_spin.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/spapr_vio.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/virt.c
/qemu/hw/rx/rx-gdbsim.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/meson.build
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/trace-events
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptconfig.c
/qemu/hw/scsi/mptendian.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/sd/milkymist-memcard.c
/qemu/hw/smbios/smbios.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/imx_spi.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/lm32_timer.c
/qemu/hw/timer/milkymist-sysctl.c
/qemu/hw/tpm/tpm_prop.h
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/usb/Kconfig
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-pci.h
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/hcd-xhci.h
/qemu/hw/usb/trace-events
/qemu/hw/vfio/common.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/vfio/platform.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-backend.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem-pci.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen_pvdev.c
/qemu/include/authz/base.h
/qemu/include/authz/list.h
/qemu/include/authz/listfile.h
/qemu/include/authz/pamacct.h
/qemu/include/authz/simple.h
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/nvme.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/cputlb.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/ioport.h
/qemu/include/exec/memory.h
/qemu/include/exec/memory_ldst.h.inc
/qemu/include/exec/memory_ldst_cached.h.inc
/qemu/include/exec/memory_ldst_phys.h.inc
/qemu/include/exec/tb-context.h
/qemu/include/exec/tb-hash.h
/qemu/include/exec/user/thunk.h
/qemu/include/glib-compat.h
/qemu/include/hw/acpi/acpi.h
/qemu/include/hw/acpi/ich9.h
/qemu/include/hw/acpi/pcihp.h
/qemu/include/hw/display/milkymist_tmu2.h
/qemu/include/hw/i386/apic_internal.h
/qemu/include/hw/i386/ich9.h
/qemu/include/hw/i386/ioapic.h
/qemu/include/hw/i386/ioapic_internal.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/ide/ahci.h
/qemu/include/hw/intc/arm_gicv3_common.h
/qemu/include/hw/intc/ibex_plic.h
/qemu/include/hw/intc/sifive_plic.h
/qemu/include/hw/loader-fit.h
/qemu/include/hw/mem/memory-device.h
/qemu/include/hw/mips/cps.h
/qemu/include/hw/misc/mchp_pfsoc_dmc.h
/qemu/include/hw/misc/mchp_pfsoc_ioscb.h
/qemu/include/hw/misc/mchp_pfsoc_sysreg.h
/qemu/include/hw/misc/mips_cpc.h
/qemu/include/hw/misc/mips_itu.h
/qemu/include/hw/misc/stm32f2xx_syscfg.h
/qemu/include/hw/pci-host/designware.h
/qemu/include/hw/pci-host/spapr.h
/qemu/include/hw/pci-host/xilinx-pcie.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/platform-bus.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/pnv_homer.h
/qemu/include/hw/ppc/pnv_lpc.h
/qemu/include/hw/ppc/pnv_occ.h
/qemu/include/hw/ppc/pnv_psi.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/spapr_vio.h
/qemu/include/hw/riscv/microchip_pfsoc.h
/qemu/include/hw/s390x/s390-pci-bus.h
/qemu/include/hw/s390x/s390-pci-clp.h
/qemu/include/hw/s390x/s390-pci-inst.h
/qemu/include/hw/s390x/s390-pci-vfio.h
/qemu/include/hw/semihosting/semihost.h
/qemu/include/hw/sparc/sparc32_dma.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/xen/xen.h
/qemu/include/monitor/hmp-target.h
/qemu/include/qapi/util.h
/qemu/include/qemu/base64.h
/qemu/include/qemu/bswap.h
/qemu/include/qemu/buffer.h
/qemu/include/qemu/cutils.h
/qemu/include/qemu/filemonitor.h
/qemu/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/virtio_fs.h
/qemu/include/standard-headers/linux/virtio_gpu.h
/qemu/include/standard-headers/linux/virtio_mmio.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/tpm_util.h
/qemu/include/tcg/tcg-opc.h
/qemu/include/tcg/tcg.h
/qemu/io/channel-websock.c
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/mman.h
/qemu/linux-headers/asm-generic/hugetlb_encode.h
/qemu/linux-headers/asm-generic/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-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.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/kvm.h
/qemu/linux-headers/linux/mman.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vfio_zdev.h
/qemu/linux-user/aarch64/target_cpu.h
/qemu/linux-user/aarch64/target_structs.h
/qemu/linux-user/alpha/target_cpu.h
/qemu/linux-user/alpha/target_signal.h
/qemu/linux-user/alpha/target_structs.h
/qemu/linux-user/arm/target_cpu.h
/qemu/linux-user/arm/target_signal.h
/qemu/linux-user/arm/target_structs.h
/qemu/linux-user/cris/target_cpu.h
/qemu/linux-user/cris/target_signal.h
/qemu/linux-user/cris/target_structs.h
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/target_cpu.h
/qemu/linux-user/hppa/target_signal.h
/qemu/linux-user/hppa/target_structs.h
/qemu/linux-user/i386/target_cpu.h
/qemu/linux-user/i386/target_signal.h
/qemu/linux-user/i386/target_structs.h
/qemu/linux-user/m68k/target_signal.h
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/target_cpu.h
/qemu/linux-user/microblaze/target_signal.h
/qemu/linux-user/microblaze/target_structs.h
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mips/target_cpu.h
/qemu/linux-user/mips/target_signal.h
/qemu/linux-user/mips/target_structs.h
/qemu/linux-user/mips64/target_cpu.h
/qemu/linux-user/mips64/target_signal.h
/qemu/linux-user/nios2/target_cpu.h
/qemu/linux-user/nios2/target_signal.h
/qemu/linux-user/nios2/target_structs.h
/qemu/linux-user/ppc/target_cpu.h
/qemu/linux-user/ppc/target_signal.h
/qemu/linux-user/ppc/target_structs.h
/qemu/linux-user/ppc/target_syscall.h
/qemu/linux-user/s390x/target_signal.h
/qemu/linux-user/s390x/target_structs.h
/qemu/linux-user/sh4/target_signal.h
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/sparc/target_cpu.h
/qemu/linux-user/sparc/target_signal.h
/qemu/linux-user/sparc/target_structs.h
/qemu/linux-user/sparc64/target_structs.h
/qemu/linux-user/syscall.c
/qemu/linux-user/tilegx/target_cpu.h
/qemu/linux-user/tilegx/target_structs.h
/qemu/linux-user/x86_64/target_signal.h
/qemu/linux-user/x86_64/target_structs.h
/qemu/memory_ldst.c.inc
/qemu/meson.build
/qemu/migration/dirtyrate.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/tls.c
/qemu/migration/tls.h
/qemu/monitor/hmp-cmds.c
/qemu/monitor/hmp.c
/qemu/monitor/misc.c
/qemu/monitor/monitor-internal.h
nbd-internal.h
/qemu/net/colo-compare.c
/qemu/net/colo.c
/qemu/net/eth.c
/qemu/net/filter-rewriter.c
/qemu/net/l2tpv3.c
/qemu/net/net.c
/qemu/net/vhost-vdpa.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-netboot.img
/qemu/qapi/audio.json
/qemu/qapi/authz.json
/qemu/qapi/block-core.json
/qemu/qapi/migration.json
/qemu/qapi/opts-visitor.c
/qemu/qapi/qapi-util.c
/qemu/qapi/qobject-input-visitor.c
/qemu/qapi/sockets.json
/qemu/qapi/string-input-visitor.c
/qemu/qapi/ui.json
/qemu/qemu-img.c
/qemu/qemu-io.c
/qemu/qemu-nbd.c
/qemu/qga/commands-posix-ssh.c
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/meson.build
/qemu/qga/qapi-schema.json
/qemu/replay/replay-debugging.c
/qemu/roms/Makefile
/qemu/scripts/analyze-migration.py
/qemu/scripts/decodetree.py
/qemu/scripts/device-crash-test
/qemu/scripts/kernel-doc
/qemu/scripts/oss-fuzz/build.sh
/qemu/scripts/replay-dump.py
/qemu/scripts/tracetool/format/d.py
/qemu/scripts/update-linux-headers.sh
/qemu/scsi/qemu-pr-helper.c
/qemu/softmmu/memory.c
/qemu/softmmu/physmem.c
/qemu/softmmu/qdev-monitor.c
/qemu/softmmu/vl.c
/qemu/storage-daemon/qemu-storage-daemon.c
/qemu/stubs/xen-hw-stub.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/fpu_helper.c
/qemu/target/alpha/gdbstub.c
/qemu/target/alpha/helper.c
/qemu/target/alpha/int_helper.c
/qemu/target/alpha/mem_helper.c
/qemu/target/alpha/sys_helper.c
/qemu/target/alpha/translate.c
/qemu/target/alpha/vax_helper.c
/qemu/target/arm/a32-uncond.decode
/qemu/target/arm/a32.decode
/qemu/target/arm/arch_dump.c
/qemu/target/arm/arm-semi.c
/qemu/target/arm/arm_ldst.h
/qemu/target/arm/cpu.h
/qemu/target/arm/crypto_helper.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper-a64.h
/qemu/target/arm/helper-sve.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/iwmmxt_helper.c
/qemu/target/arm/m_helper.c
/qemu/target/arm/neon-dp.decode
/qemu/target/arm/neon-ls.decode
/qemu/target/arm/neon-shared.decode
/qemu/target/arm/op_helper.c
/qemu/target/arm/pauth_helper.c
/qemu/target/arm/sve.decode
/qemu/target/arm/sve_helper.c
/qemu/target/arm/t16.decode
/qemu/target/arm/t32.decode
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate-a64.h
/qemu/target/arm/translate-neon.c.inc
/qemu/target/arm/translate-sve.c
/qemu/target/arm/translate-vfp.c.inc
/qemu/target/arm/translate.c
/qemu/target/arm/vec_helper.c
/qemu/target/arm/vec_internal.h
/qemu/target/arm/vfp-uncond.decode
/qemu/target/arm/vfp.decode
/qemu/target/cris/cpu.h
/qemu/target/cris/crisv10-decode.h
/qemu/target/cris/crisv32-decode.h
/qemu/target/cris/gdbstub.c
/qemu/target/cris/helper.c
/qemu/target/cris/machine.c
/qemu/target/cris/mmu.c
/qemu/target/cris/op_helper.c
/qemu/target/cris/translate.c
/qemu/target/cris/translate_v10.c.inc
/qemu/target/hppa/cpu.h
/qemu/target/hppa/gdbstub.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/insns.decode
/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/bpt_helper.c
/qemu/target/i386/cc_helper.c
/qemu/target/i386/cc_helper_template.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/excp_helper.c
/qemu/target/i386/fpu_helper.c
/qemu/target/i386/gdbstub.c
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/panic.h
/qemu/target/i386/hvf/vmx.h
/qemu/target/i386/hvf/x86.c
/qemu/target/i386/hvf/x86.h
/qemu/target/i386/hvf/x86_cpuid.c
/qemu/target/i386/hvf/x86_decode.c
/qemu/target/i386/hvf/x86_decode.h
/qemu/target/i386/hvf/x86_descr.c
/qemu/target/i386/hvf/x86_descr.h
/qemu/target/i386/hvf/x86_emu.c
/qemu/target/i386/hvf/x86_emu.h
/qemu/target/i386/hvf/x86_flags.c
/qemu/target/i386/hvf/x86_flags.h
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/hvf/x86_mmu.h
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/hvf/x86hvf.h
/qemu/target/i386/int_helper.c
/qemu/target/i386/mem_helper.c
/qemu/target/i386/misc_helper.c
/qemu/target/i386/monitor.c
/qemu/target/i386/mpx_helper.c
/qemu/target/i386/ops_sse.h
/qemu/target/i386/ops_sse_header.h
/qemu/target/i386/seg_helper.c
/qemu/target/i386/shift_helper_template.h
/qemu/target/i386/smm_helper.c
/qemu/target/i386/svm_helper.c
/qemu/target/i386/tcg-stub.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.h
/qemu/target/lm32/gdbstub.c
/qemu/target/lm32/helper.c
/qemu/target/lm32/translate.c
/qemu/target/m68k/monitor.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/machine.c
/qemu/target/microblaze/mmu.c
/qemu/target/microblaze/mmu.h
/qemu/target/microblaze/op_helper.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cp0_helper.c
/qemu/target/mips/cpu.h
/qemu/target/mips/dsp_helper.c
/qemu/target/mips/fpu_helper.c
/qemu/target/mips/gdbstub.c
/qemu/target/mips/helper.c
/qemu/target/mips/lmmi_helper.c
/qemu/target/mips/mips-semi.c
/qemu/target/mips/msa_helper.c
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/mips/translate_init.c.inc
/qemu/target/nios2/monitor.c
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/dfp_helper.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper_regs.h
/qemu/target/ppc/int_helper.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-book3s-v3.c
/qemu/target/ppc/mmu-book3s-v3.h
/qemu/target/ppc/mmu-hash32.c
/qemu/target/ppc/mmu-hash64.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/monitor.c
/qemu/target/ppc/timebase_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.c.inc
/qemu/target/ppc/user_only_helper.c
/qemu/target/riscv/cpu-param.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/helper.h
/qemu/target/riscv/insn_trans/trans_rvh.c.inc
/qemu/target/riscv/internals.h
/qemu/target/riscv/machine.c
/qemu/target/riscv/meson.build
/qemu/target/riscv/monitor.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/pmp.c
/qemu/target/riscv/pmp.h
/qemu/target/riscv/translate.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/insn-data.def
/qemu/target/s390x/translate.c
/qemu/target/sh4/monitor.c
/qemu/target/sparc/cc_helper.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/fop_helper.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/helper.c
/qemu/target/sparc/int32_helper.c
/qemu/target/sparc/int64_helper.c
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/monitor.c
/qemu/target/sparc/translate.c
/qemu/target/sparc/vis_helper.c
/qemu/target/sparc/win_helper.c
/qemu/target/tilegx/cpu.h
/qemu/target/tricore/gdbstub.c
/qemu/target/xtensa/gdbstub.c
/qemu/target/xtensa/monitor.c
/qemu/tcg/tcg.c
/qemu/tests/acceptance/boot_linux.py
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/acceptance/pc_cpu_hotplug_props.py
/qemu/tests/acceptance/replay_kernel.py
/qemu/tests/acceptance/virtiofs_submounts.py
/qemu/tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/guest.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/host.sh
/qemu/tests/acceptance/x86_cpu_model_versions.py
/qemu/tests/io-channel-helpers.c
/qemu/tests/io-channel-helpers.h
/qemu/tests/migration/guestperf-batch.py
/qemu/tests/migration/guestperf-plot.py
/qemu/tests/migration/guestperf.py
/qemu/tests/migration/guestperf/comparison.py
/qemu/tests/migration/guestperf/engine.py
/qemu/tests/migration/guestperf/hardware.py
/qemu/tests/migration/guestperf/plot.py
/qemu/tests/migration/guestperf/progress.py
/qemu/tests/migration/guestperf/report.py
/qemu/tests/migration/guestperf/scenario.py
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/migration/guestperf/timings.py
/qemu/tests/migration/stress.c
/qemu/tests/qemu-iotests/162.out
/qemu/tests/qemu-iotests/240
/qemu/tests/qemu-iotests/240.out
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/pylintrc
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/device-introspect-test.c
/qemu/tests/qtest/endianness-test.c
/qemu/tests/qtest/fuzz-test.c
/qemu/tests/qtest/fuzz/fork_fuzz.ld
/qemu/tests/qtest/fuzz/generic_fuzz.c
/qemu/tests/qtest/fuzz/meson.build
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/fuzz/virtio_blk_fuzz.c
/qemu/tests/qtest/ivshmem-test.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/libqtest.h
/qemu/tests/qtest/libqos/virtio-9p.c
/qemu/tests/qtest/libqos/virtio-9p.h
/qemu/tests/qtest/libqtest-single.h
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/npcm7xx_rng-test.c
/qemu/tests/qtest/pvpanic-test.c
/qemu/tests/qtest/tpm-tests.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/test-authz-list.c
/qemu/tests/test-authz-listfile.c
/qemu/tests/test-authz-pam.c
/qemu/tests/test-authz-simple.c
/qemu/tests/test-base64.c
/qemu/tests/test-bufferiszero.c
/qemu/tests/test-crypto-afsplit.c
/qemu/tests/test-crypto-block.c
/qemu/tests/test-crypto-cipher.c
/qemu/tests/test-crypto-hash.c
/qemu/tests/test-crypto-ivgen.c
/qemu/tests/test-crypto-pbkdf.c
/qemu/tests/test-crypto-secret.c
/qemu/tests/test-crypto-xts.c
/qemu/tests/test-qgraph.c
/qemu/tests/test-util-sockets.c
/qemu/tests/test-uuid.c
/qemu/tests/vm/openbsd
/qemu/thunk.c
/qemu/tools/virtiofsd/buffer.c
/qemu/tools/virtiofsd/fuse_common.h
/qemu/tools/virtiofsd/fuse_lowlevel.c
/qemu/tools/virtiofsd/fuse_lowlevel.h
/qemu/tools/virtiofsd/fuse_virtio.c
/qemu/tools/virtiofsd/helper.c
/qemu/tools/virtiofsd/meson.build
/qemu/tools/virtiofsd/passthrough_ll.c
/qemu/tools/virtiofsd/passthrough_seccomp.c
/qemu/trace/control.c
/qemu/trace/control.h
/qemu/ui/console.c
/qemu/ui/trace-events
/qemu/ui/vnc-auth-sasl.c
/qemu/ui/vnc-auth-vencrypt.c
/qemu/ui/vnc-jobs.c
/qemu/ui/vnc-ws.c
/qemu/ui/vnc.c
/qemu/ui/x_keymap.c
/qemu/util/aio-win32.c
/qemu/util/base64.c
/qemu/util/buffer.c
/qemu/util/cutils.c
/qemu/util/filemonitor-inotify.c
/qemu/util/filemonitor-stub.c
/qemu/util/log.c
/qemu/util/meson.build
/qemu/util/module.c
/qemu/util/oslib-win32.c
/qemu/util/qemu-coroutine-lock.c
/qemu/util/qemu-option.c
/qemu/util/qemu-sockets.c
c0b21f2e06-Nov-2020 Eric Blake <eblake@redhat.com>

nbd: Silence Coverity false positive

Coverity noticed (CID 1436125) that we check the return value of
nbd_extent_array_add in most places, but not at the end of
bitmap_to_extents(). The return valu

nbd: Silence Coverity false positive

Coverity noticed (CID 1436125) that we check the return value of
nbd_extent_array_add in most places, but not at the end of
bitmap_to_extents(). The return value exists to break loops before a
future iteration, so there is nothing to check if we are already done
iterating. Adding a cast to void, plus a comment why, pacifies
Coverity.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201111163510.713855-1-eblake@redhat.com>
[eblake: Prefer cast to void over odd && usage]
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.cirrus.yml
/qemu/.gitlab-ci.d/check-patch.py
/qemu/.gitlab-ci.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/stubs/hax-stub.c
/qemu/accel/tcg/translate-all.c
/qemu/audio/jackaudio.c
/qemu/authz/base.c
/qemu/authz/list.c
/qemu/authz/listfile.c
/qemu/authz/pamacct.c
/qemu/authz/simple.c
/qemu/backends/tpm/tpm_emulator.c
/qemu/backends/tpm/tpm_passthrough.c
/qemu/backends/tpm/tpm_util.c
/qemu/block.c
/qemu/block/blkdebug.c
/qemu/block/crypto.c
/qemu/block/crypto.h
/qemu/block/dmg-lzfse.c
/qemu/block/dmg.c
/qemu/block/export/export.c
/qemu/block/export/meson.build
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/nfs.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/vpc.c
/qemu/block/vvfat.c
/qemu/bsd-user/main.c
/qemu/chardev/char-socket.c
/qemu/chardev/char.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/plugins/lockstep.c
/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/qemu/contrib/vhost-user-gpu/meson.build
/qemu/cpus-common.c
/qemu/default-configs/devices/mips-softmmu-common.mak
/qemu/disas/capstone.c
/qemu/disas/lm32.c
/qemu/docs/_templates/editpage.html
/qemu/docs/conf.py
/qemu/docs/devel/_templates/editpage.html
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/fuzzing.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/kconfig.rst
/qemu/docs/devel/qapi-code-gen.txt
/qemu/docs/interop/_templates/editpage.html
/qemu/docs/meson.build
/qemu/docs/qemu-option-trace.rst.inc
/qemu/docs/specs/_templates/editpage.html
/qemu/docs/specs/nvme.txt
/qemu/docs/specs/pci-ids.txt
/qemu/docs/system/_templates/editpage.html
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/deprecated.rst
/qemu/docs/system/target-arm.rst
/qemu/docs/tools/_templates/editpage.html
/qemu/docs/user/_templates/editpage.html
/qemu/exec-vary.c
/qemu/hmp-commands.hx
/qemu/hw/9pfs/9p-local.c
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/9p.h
/qemu/hw/9pfs/Kconfig
/qemu/hw/9pfs/cofs.c
/qemu/hw/9pfs/meson.build
/qemu/hw/acpi/core.c
/qemu/hw/acpi/generic_event_device.c
/qemu/hw/acpi/hmat.c
/qemu/hw/acpi/hmat.h
/qemu/hw/acpi/ich9.c
/qemu/hw/acpi/nvdimm.c
/qemu/hw/acpi/pcihp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/armsse.c
/qemu/hw/arm/boot.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/audio/milkymist-ac97.c
/qemu/hw/block/meson.build
/qemu/hw/block/nvme-ns.c
/qemu/hw/block/nvme-ns.h
/qemu/hw/block/nvme.c
/qemu/hw/block/nvme.h
/qemu/hw/block/pflash_cfi01.c
/qemu/hw/block/pflash_cfi02.c
/qemu/hw/block/trace-events
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/char/lm32_juart.c
/qemu/hw/char/lm32_uart.c
/qemu/hw/char/milkymist-uart.c
/qemu/hw/core/bus.c
/qemu/hw/core/loader-fit.c
/qemu/hw/core/machine.c
/qemu/hw/core/platform-bus.c
/qemu/hw/core/qdev.c
/qemu/hw/core/sysbus.c
/qemu/hw/display/ati_2d.c
/qemu/hw/display/bcm2835_fb.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/meson.build
/qemu/hw/display/milkymist-tmu2.c
/qemu/hw/display/milkymist-vgafb.c
/qemu/hw/display/milkymist-vgafb_template.h
/qemu/hw/display/omap_lcdc.c
/qemu/hw/display/tcx.c
/qemu/hw/display/virtio-gpu-3d.c
/qemu/hw/dma/sparc32_dma.c
/qemu/hw/gpio/mpc8xxx.c
/qemu/hw/i2c/pm_smbus.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ahci_internal.h
/qemu/hw/ide/ich.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/qdev.c
/qemu/hw/input/milkymist-softusb.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gicv2m.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/ibex_plic.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/intc/lm32_pic.c
/qemu/hw/intc/loongson_liointc.c
/qemu/hw/intc/sifive_plic.c
/qemu/hw/intc/xics_pnv.c
/qemu/hw/isa/apm.c
/qemu/hw/isa/i82378.c
/qemu/hw/isa/isa-bus.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/lm32_hwsetup.h
/qemu/hw/lm32/milkymist.c
/qemu/hw/mem/memory-device.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mips/Kconfig
/qemu/hw/mips/boston.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/meson.build
/qemu/hw/misc/Kconfig
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/mchp_pfsoc_dmc.c
/qemu/hw/misc/mchp_pfsoc_ioscb.c
/qemu/hw/misc/mchp_pfsoc_sysreg.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/milkymist-hpdmc.c
/qemu/hw/misc/milkymist-pfpu.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/pvpanic.c
/qemu/hw/misc/stm32f2xx_syscfg.c
/qemu/hw/net/can/ctucan_core.c
/qemu/hw/net/can/ctucan_core.h
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000e_core.h
/qemu/hw/net/e1000x_common.c
/qemu/hw/net/e1000x_common.h
/qemu/hw/net/milkymist-minimac2.c
/qemu/hw/net/virtio-net.c
/qemu/hw/pci-bridge/i82801b11.c
/qemu/hw/pci-host/designware.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/pnv_xscom.c
/qemu/hw/ppc/ppce500_spin.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/spapr_vio.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/virt.c
/qemu/hw/rx/rx-gdbsim.c
/qemu/hw/s390x/ipl.h
/qemu/hw/s390x/meson.build
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/trace-events
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptconfig.c
/qemu/hw/scsi/mptendian.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/sd/milkymist-memcard.c
/qemu/hw/smbios/smbios.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/imx_spi.c
/qemu/hw/ssi/xilinx_spi.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/lm32_timer.c
/qemu/hw/timer/milkymist-sysctl.c
/qemu/hw/tpm/tpm_prop.h
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/usb/Kconfig
/qemu/hw/usb/dev-serial.c
/qemu/hw/usb/dev-storage.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-pci.h
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/hcd-xhci.h
/qemu/hw/usb/trace-events
/qemu/hw/vfio/common.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/vfio/platform.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-backend.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-mem-pci.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen_pvdev.c
/qemu/include/authz/base.h
/qemu/include/authz/list.h
/qemu/include/authz/listfile.h
/qemu/include/authz/pamacct.h
/qemu/include/authz/simple.h
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/nvme.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/cputlb.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/ioport.h
/qemu/include/exec/memory.h
/qemu/include/exec/memory_ldst.h.inc
/qemu/include/exec/memory_ldst_cached.h.inc
/qemu/include/exec/memory_ldst_phys.h.inc
/qemu/include/exec/tb-context.h
/qemu/include/exec/tb-hash.h
/qemu/include/exec/user/thunk.h
/qemu/include/glib-compat.h
/qemu/include/hw/acpi/acpi.h
/qemu/include/hw/acpi/ich9.h
/qemu/include/hw/acpi/pcihp.h
/qemu/include/hw/display/milkymist_tmu2.h
/qemu/include/hw/i386/apic_internal.h
/qemu/include/hw/i386/ich9.h
/qemu/include/hw/i386/ioapic.h
/qemu/include/hw/i386/ioapic_internal.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/ide/ahci.h
/qemu/include/hw/intc/arm_gicv3_common.h
/qemu/include/hw/intc/ibex_plic.h
/qemu/include/hw/intc/sifive_plic.h
/qemu/include/hw/loader-fit.h
/qemu/include/hw/mem/memory-device.h
/qemu/include/hw/mips/cps.h
/qemu/include/hw/misc/mchp_pfsoc_dmc.h
/qemu/include/hw/misc/mchp_pfsoc_ioscb.h
/qemu/include/hw/misc/mchp_pfsoc_sysreg.h
/qemu/include/hw/misc/mips_cpc.h
/qemu/include/hw/misc/mips_itu.h
/qemu/include/hw/misc/stm32f2xx_syscfg.h
/qemu/include/hw/pci-host/designware.h
/qemu/include/hw/pci-host/spapr.h
/qemu/include/hw/pci-host/xilinx-pcie.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/platform-bus.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/pnv_homer.h
/qemu/include/hw/ppc/pnv_lpc.h
/qemu/include/hw/ppc/pnv_occ.h
/qemu/include/hw/ppc/pnv_psi.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/spapr_vio.h
/qemu/include/hw/riscv/microchip_pfsoc.h
/qemu/include/hw/s390x/s390-pci-bus.h
/qemu/include/hw/s390x/s390-pci-clp.h
/qemu/include/hw/s390x/s390-pci-inst.h
/qemu/include/hw/s390x/s390-pci-vfio.h
/qemu/include/hw/semihosting/semihost.h
/qemu/include/hw/sparc/sparc32_dma.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/xen/xen.h
/qemu/include/monitor/hmp-target.h
/qemu/include/qapi/util.h
/qemu/include/qemu/base64.h
/qemu/include/qemu/buffer.h
/qemu/include/qemu/cutils.h
/qemu/include/qemu/filemonitor.h
/qemu/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/virtio_fs.h
/qemu/include/standard-headers/linux/virtio_gpu.h
/qemu/include/standard-headers/linux/virtio_mmio.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/tpm_util.h
/qemu/include/tcg/tcg-opc.h
/qemu/include/tcg/tcg.h
/qemu/io/channel-websock.c
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/mman.h
/qemu/linux-headers/asm-generic/hugetlb_encode.h
/qemu/linux-headers/asm-generic/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-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.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/kvm.h
/qemu/linux-headers/linux/mman.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vfio_zdev.h
/qemu/linux-user/aarch64/target_cpu.h
/qemu/linux-user/aarch64/target_structs.h
/qemu/linux-user/alpha/target_cpu.h
/qemu/linux-user/alpha/target_signal.h
/qemu/linux-user/alpha/target_structs.h
/qemu/linux-user/arm/target_cpu.h
/qemu/linux-user/arm/target_signal.h
/qemu/linux-user/arm/target_structs.h
/qemu/linux-user/cris/target_cpu.h
/qemu/linux-user/cris/target_signal.h
/qemu/linux-user/cris/target_structs.h
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/target_cpu.h
/qemu/linux-user/hppa/target_signal.h
/qemu/linux-user/hppa/target_structs.h
/qemu/linux-user/i386/target_cpu.h
/qemu/linux-user/i386/target_signal.h
/qemu/linux-user/i386/target_structs.h
/qemu/linux-user/m68k/target_signal.h
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/target_cpu.h
/qemu/linux-user/microblaze/target_signal.h
/qemu/linux-user/microblaze/target_structs.h
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mips/target_cpu.h
/qemu/linux-user/mips/target_signal.h
/qemu/linux-user/mips/target_structs.h
/qemu/linux-user/mips64/target_cpu.h
/qemu/linux-user/mips64/target_signal.h
/qemu/linux-user/nios2/target_cpu.h
/qemu/linux-user/nios2/target_signal.h
/qemu/linux-user/nios2/target_structs.h
/qemu/linux-user/ppc/target_cpu.h
/qemu/linux-user/ppc/target_signal.h
/qemu/linux-user/ppc/target_structs.h
/qemu/linux-user/ppc/target_syscall.h
/qemu/linux-user/s390x/target_signal.h
/qemu/linux-user/s390x/target_structs.h
/qemu/linux-user/sh4/target_signal.h
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/sparc/target_cpu.h
/qemu/linux-user/sparc/target_signal.h
/qemu/linux-user/sparc/target_structs.h
/qemu/linux-user/sparc64/target_structs.h
/qemu/linux-user/syscall.c
/qemu/linux-user/tilegx/target_cpu.h
/qemu/linux-user/tilegx/target_structs.h
/qemu/linux-user/x86_64/target_signal.h
/qemu/linux-user/x86_64/target_structs.h
/qemu/memory_ldst.c.inc
/qemu/meson.build
/qemu/migration/dirtyrate.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/tls.c
/qemu/migration/tls.h
/qemu/monitor/hmp-cmds.c
/qemu/monitor/hmp.c
/qemu/monitor/misc.c
/qemu/monitor/monitor-internal.h
server.c
/qemu/net/colo-compare.c
/qemu/net/colo.c
/qemu/net/eth.c
/qemu/net/filter-rewriter.c
/qemu/net/l2tpv3.c
/qemu/net/net.c
/qemu/net/vhost-vdpa.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-netboot.img
/qemu/qapi/audio.json
/qemu/qapi/authz.json
/qemu/qapi/block-core.json
/qemu/qapi/migration.json
/qemu/qapi/opts-visitor.c
/qemu/qapi/qapi-util.c
/qemu/qapi/qobject-input-visitor.c
/qemu/qapi/sockets.json
/qemu/qapi/string-input-visitor.c
/qemu/qapi/ui.json
/qemu/qemu-img.c
/qemu/qemu-io.c
/qemu/qemu-nbd.c
/qemu/qga/commands-posix-ssh.c
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/meson.build
/qemu/qga/qapi-schema.json
/qemu/replay/replay-debugging.c
/qemu/roms/Makefile
/qemu/scripts/analyze-migration.py
/qemu/scripts/decodetree.py
/qemu/scripts/device-crash-test
/qemu/scripts/kernel-doc
/qemu/scripts/oss-fuzz/build.sh
/qemu/scripts/replay-dump.py
/qemu/scripts/tracetool/format/d.py
/qemu/scripts/update-linux-headers.sh
/qemu/scsi/qemu-pr-helper.c
/qemu/softmmu/memory.c
/qemu/softmmu/physmem.c
/qemu/softmmu/qdev-monitor.c
/qemu/softmmu/vl.c
/qemu/storage-daemon/qemu-storage-daemon.c
/qemu/stubs/xen-hw-stub.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/fpu_helper.c
/qemu/target/alpha/gdbstub.c
/qemu/target/alpha/helper.c
/qemu/target/alpha/int_helper.c
/qemu/target/alpha/mem_helper.c
/qemu/target/alpha/sys_helper.c
/qemu/target/alpha/translate.c
/qemu/target/alpha/vax_helper.c
/qemu/target/arm/a32-uncond.decode
/qemu/target/arm/a32.decode
/qemu/target/arm/arch_dump.c
/qemu/target/arm/arm-semi.c
/qemu/target/arm/arm_ldst.h
/qemu/target/arm/cpu.h
/qemu/target/arm/crypto_helper.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper-a64.h
/qemu/target/arm/helper-sve.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/iwmmxt_helper.c
/qemu/target/arm/m_helper.c
/qemu/target/arm/neon-dp.decode
/qemu/target/arm/neon-ls.decode
/qemu/target/arm/neon-shared.decode
/qemu/target/arm/op_helper.c
/qemu/target/arm/pauth_helper.c
/qemu/target/arm/sve.decode
/qemu/target/arm/sve_helper.c
/qemu/target/arm/t16.decode
/qemu/target/arm/t32.decode
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate-a64.h
/qemu/target/arm/translate-neon.c.inc
/qemu/target/arm/translate-sve.c
/qemu/target/arm/translate-vfp.c.inc
/qemu/target/arm/translate.c
/qemu/target/arm/vec_helper.c
/qemu/target/arm/vec_internal.h
/qemu/target/arm/vfp-uncond.decode
/qemu/target/arm/vfp.decode
/qemu/target/cris/cpu.h
/qemu/target/cris/crisv10-decode.h
/qemu/target/cris/crisv32-decode.h
/qemu/target/cris/gdbstub.c
/qemu/target/cris/helper.c
/qemu/target/cris/machine.c
/qemu/target/cris/mmu.c
/qemu/target/cris/op_helper.c
/qemu/target/cris/translate.c
/qemu/target/cris/translate_v10.c.inc
/qemu/target/hppa/cpu.h
/qemu/target/hppa/gdbstub.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/insns.decode
/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/bpt_helper.c
/qemu/target/i386/cc_helper.c
/qemu/target/i386/cc_helper_template.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/excp_helper.c
/qemu/target/i386/fpu_helper.c
/qemu/target/i386/gdbstub.c
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/panic.h
/qemu/target/i386/hvf/vmx.h
/qemu/target/i386/hvf/x86.c
/qemu/target/i386/hvf/x86.h
/qemu/target/i386/hvf/x86_cpuid.c
/qemu/target/i386/hvf/x86_decode.c
/qemu/target/i386/hvf/x86_decode.h
/qemu/target/i386/hvf/x86_descr.c
/qemu/target/i386/hvf/x86_descr.h
/qemu/target/i386/hvf/x86_emu.c
/qemu/target/i386/hvf/x86_emu.h
/qemu/target/i386/hvf/x86_flags.c
/qemu/target/i386/hvf/x86_flags.h
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/hvf/x86_mmu.h
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/hvf/x86hvf.h
/qemu/target/i386/int_helper.c
/qemu/target/i386/mem_helper.c
/qemu/target/i386/misc_helper.c
/qemu/target/i386/monitor.c
/qemu/target/i386/mpx_helper.c
/qemu/target/i386/ops_sse.h
/qemu/target/i386/ops_sse_header.h
/qemu/target/i386/seg_helper.c
/qemu/target/i386/shift_helper_template.h
/qemu/target/i386/smm_helper.c
/qemu/target/i386/svm_helper.c
/qemu/target/i386/tcg-stub.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.h
/qemu/target/lm32/gdbstub.c
/qemu/target/lm32/helper.c
/qemu/target/lm32/translate.c
/qemu/target/m68k/monitor.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/machine.c
/qemu/target/microblaze/mmu.c
/qemu/target/microblaze/mmu.h
/qemu/target/microblaze/op_helper.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cp0_helper.c
/qemu/target/mips/cpu.h
/qemu/target/mips/dsp_helper.c
/qemu/target/mips/fpu_helper.c
/qemu/target/mips/gdbstub.c
/qemu/target/mips/helper.c
/qemu/target/mips/lmmi_helper.c
/qemu/target/mips/mips-semi.c
/qemu/target/mips/msa_helper.c
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/mips/translate_init.c.inc
/qemu/target/nios2/monitor.c
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/dfp_helper.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper_regs.h
/qemu/target/ppc/int_helper.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/mmu-book3s-v3.c
/qemu/target/ppc/mmu-book3s-v3.h
/qemu/target/ppc/mmu-hash32.c
/qemu/target/ppc/mmu-hash64.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/monitor.c
/qemu/target/ppc/timebase_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.c.inc
/qemu/target/ppc/user_only_helper.c
/qemu/target/riscv/cpu-param.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/helper.h
/qemu/target/riscv/insn_trans/trans_rvh.c.inc
/qemu/target/riscv/internals.h
/qemu/target/riscv/machine.c
/qemu/target/riscv/meson.build
/qemu/target/riscv/monitor.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/pmp.c
/qemu/target/riscv/pmp.h
/qemu/target/riscv/translate.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/insn-data.def
/qemu/target/s390x/translate.c
/qemu/target/sh4/monitor.c
/qemu/target/sparc/cc_helper.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/fop_helper.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/helper.c
/qemu/target/sparc/int32_helper.c
/qemu/target/sparc/int64_helper.c
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/monitor.c
/qemu/target/sparc/translate.c
/qemu/target/sparc/vis_helper.c
/qemu/target/sparc/win_helper.c
/qemu/target/tilegx/cpu.h
/qemu/target/tricore/gdbstub.c
/qemu/target/xtensa/gdbstub.c
/qemu/target/xtensa/monitor.c
/qemu/tcg/tcg.c
/qemu/tests/acceptance/boot_linux.py
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/acceptance/pc_cpu_hotplug_props.py
/qemu/tests/acceptance/replay_kernel.py
/qemu/tests/acceptance/virtiofs_submounts.py
/qemu/tests/acceptance/virtiofs_submounts.py.data/cleanup.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/guest-cleanup.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/guest.sh
/qemu/tests/acceptance/virtiofs_submounts.py.data/host.sh
/qemu/tests/acceptance/x86_cpu_model_versions.py
/qemu/tests/io-channel-helpers.c
/qemu/tests/io-channel-helpers.h
/qemu/tests/migration/guestperf-batch.py
/qemu/tests/migration/guestperf-plot.py
/qemu/tests/migration/guestperf.py
/qemu/tests/migration/guestperf/comparison.py
/qemu/tests/migration/guestperf/engine.py
/qemu/tests/migration/guestperf/hardware.py
/qemu/tests/migration/guestperf/plot.py
/qemu/tests/migration/guestperf/progress.py
/qemu/tests/migration/guestperf/report.py
/qemu/tests/migration/guestperf/scenario.py
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/migration/guestperf/timings.py
/qemu/tests/migration/stress.c
/qemu/tests/qemu-iotests/162.out
/qemu/tests/qemu-iotests/240
/qemu/tests/qemu-iotests/240.out
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/pylintrc
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/device-introspect-test.c
/qemu/tests/qtest/endianness-test.c
/qemu/tests/qtest/fuzz-test.c
/qemu/tests/qtest/fuzz/fork_fuzz.ld
/qemu/tests/qtest/fuzz/generic_fuzz.c
/qemu/tests/qtest/fuzz/meson.build
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/fuzz/virtio_blk_fuzz.c
/qemu/tests/qtest/ivshmem-test.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/libqtest.h
/qemu/tests/qtest/libqos/virtio-9p.c
/qemu/tests/qtest/libqos/virtio-9p.h
/qemu/tests/qtest/libqtest-single.h
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/npcm7xx_rng-test.c
/qemu/tests/qtest/pvpanic-test.c
/qemu/tests/qtest/tpm-tests.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/test-authz-list.c
/qemu/tests/test-authz-listfile.c
/qemu/tests/test-authz-pam.c
/qemu/tests/test-authz-simple.c
/qemu/tests/test-base64.c
/qemu/tests/test-bufferiszero.c
/qemu/tests/test-crypto-afsplit.c
/qemu/tests/test-crypto-block.c
/qemu/tests/test-crypto-cipher.c
/qemu/tests/test-crypto-hash.c
/qemu/tests/test-crypto-ivgen.c
/qemu/tests/test-crypto-pbkdf.c
/qemu/tests/test-crypto-secret.c
/qemu/tests/test-crypto-xts.c
/qemu/tests/test-qgraph.c
/qemu/tests/test-util-sockets.c
/qemu/tests/test-uuid.c
/qemu/tests/vm/openbsd
/qemu/thunk.c
/qemu/tools/virtiofsd/buffer.c
/qemu/tools/virtiofsd/fuse_common.h
/qemu/tools/virtiofsd/fuse_lowlevel.c
/qemu/tools/virtiofsd/fuse_lowlevel.h
/qemu/tools/virtiofsd/fuse_virtio.c
/qemu/tools/virtiofsd/helper.c
/qemu/tools/virtiofsd/meson.build
/qemu/tools/virtiofsd/passthrough_ll.c
/qemu/tools/virtiofsd/passthrough_seccomp.c
/qemu/trace/control.c
/qemu/trace/control.h
/qemu/ui/console.c
/qemu/ui/trace-events
/qemu/ui/vnc-auth-sasl.c
/qemu/ui/vnc-auth-vencrypt.c
/qemu/ui/vnc-jobs.c
/qemu/ui/vnc-ws.c
/qemu/ui/vnc.c
/qemu/ui/x_keymap.c
/qemu/util/aio-win32.c
/qemu/util/base64.c
/qemu/util/buffer.c
/qemu/util/cutils.c
/qemu/util/filemonitor-inotify.c
/qemu/util/filemonitor-stub.c
/qemu/util/log.c
/qemu/util/meson.build
/qemu/util/module.c
/qemu/util/oslib-win32.c
/qemu/util/qemu-coroutine-lock.c
/qemu/util/qemu-option.c
/qemu/util/qemu-sockets.c
dbc7b01427-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Add 'qemu-nbd -A' to expose allocation depth

Allow the server to expose an additional metacontext to be requested
by savvy clients. qemu-nbd adds a new option -A to expose the
qemu:allocation-

nbd: Add 'qemu-nbd -A' to expose allocation depth

Allow the server to expose an additional metacontext to be requested
by savvy clients. qemu-nbd adds a new option -A to expose the
qemu:allocation-depth metacontext through NBD_CMD_BLOCK_STATUS; this
can also be set via QMP when using block-export-add.

qemu as client is hacked into viewing the key aspects of this new
context by abusing the already-experimental x-dirty-bitmap option to
collapse all depths greater than 2, which results in a tri-state value
visible in the output of 'qemu-img map --output=json' (yes, that means
x-dirty-bitmap is now a bit of a misnomer, but I didn't feel like
renaming it as it would introduce a needless break of back-compat,
even though we make no compat guarantees with x- members):

unallocated (depth 0) => "zero":false, "data":true
local (depth 1) => "zero":false, "data":false
backing (depth 2+) => "zero":true, "data":true

libnbd as client is probably a nicer way to get at the information
without having to decipher such hacks in qemu as client. ;)

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-11-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

show more ...

71719cd527-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Add new qemu:allocation-depth metadata context

'qemu-img map' provides a way to determine which extents of an image
come from the top layer vs. inherited from a backing chain. This is
useful i

nbd: Add new qemu:allocation-depth metadata context

'qemu-img map' provides a way to determine which extents of an image
come from the top layer vs. inherited from a backing chain. This is
useful information worth exposing over NBD. There is a proposal to
add a QMP command block-dirty-bitmap-populate which can create a dirty
bitmap that reflects allocation information, at which point the
qemu:dirty-bitmap:NAME metadata context can expose that information
via the creation of a temporary bitmap, but we can shorten the effort
by adding a new qemu:allocation-depth metadata context that does the
same thing without an intermediate bitmap (this patch does not
eliminate the need for that proposal, as it will have other uses as
well).

While documenting things, remember that although the NBD protocol has
NBD_OPT_SET_META_CONTEXT, the rest of its documentation refers to
'metadata context', which is a more apt description of what is
actually being used by NBD_CMD_BLOCK_STATUS: the user is requesting
metadata by passing one or more context names. So I also touched up
some existing wording to prefer the term 'metadata context' where it
makes sense.

Note that this patch does not actually enable any way to request a
server to enable this context; that will come in the next patch.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-10-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

show more ...

3b1f244c27-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Allow export of multiple bitmaps for one device

With this, 'qemu-nbd -B b0 -B b1 -f qcow2 img.qcow2' can let you sniff
out multiple bitmaps from one server. qemu-img as client can still
only r

nbd: Allow export of multiple bitmaps for one device

With this, 'qemu-nbd -B b0 -B b1 -f qcow2 img.qcow2' can let you sniff
out multiple bitmaps from one server. qemu-img as client can still
only read one bitmap per client connection, but other NBD clients
(hello libnbd) can now read multiple bitmaps in a single pass.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201027050556.269064-8-eblake@redhat.com>

show more ...

47ec485e27-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Refactor counting of metadata contexts

Rather than open-code the count of negotiated contexts at several
sites, embed it directly into the struct. This will make it easier
for upcoming commits

nbd: Refactor counting of metadata contexts

Rather than open-code the count of negotiated contexts at several
sites, embed it directly into the struct. This will make it easier
for upcoming commits to support even more simultaneous contexts.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-7-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

show more ...

02e87e3b27-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Simplify qemu bitmap context name

Each dirty bitmap already knows its name; by reducing the scope of the
places where we construct "qemu:dirty-bitmap:NAME" strings, tracking
the name is more lo

nbd: Simplify qemu bitmap context name

Each dirty bitmap already knows its name; by reducing the scope of the
places where we construct "qemu:dirty-bitmap:NAME" strings, tracking
the name is more localized, and there are fewer per-export fields to
worry about. This in turn will make it easier for an upcoming patch
to export more than one bitmap at once.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20201027050556.269064-6-eblake@redhat.com>

show more ...

cbad81ce27-Oct-2020 Eric Blake <eblake@redhat.com>

nbd: Update qapi to support exporting multiple bitmaps

Since 'block-export-add' is new to 5.2, we can still tweak the
interface; there, allowing 'bitmaps':['str'] is nicer than
'bitmap':'str'. This

nbd: Update qapi to support exporting multiple bitmaps

Since 'block-export-add' is new to 5.2, we can still tweak the
interface; there, allowing 'bitmaps':['str'] is nicer than
'bitmap':'str'. This wires up the qapi and qemu-nbd changes to permit
passing multiple bitmaps as distinct metadata contexts that the NBD
client may request, but the actual support for more than one will
require a further patch to the server.

Note that there are no changes made to the existing deprecated
'nbd-server-add' command; this required splitting the QAPI type
BlockExportOptionsNbd, which fortunately does not affect QMP
introspection.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201027050556.269064-5-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>

show more ...


/qemu/.cirrus.yml
/qemu/.gitlab-ci.d/check-patch.py
/qemu/.gitlab-ci.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/README.rst
/qemu/accel/dummy-cpus.c
/qemu/accel/meson.build
/qemu/accel/qtest/meson.build
/qemu/accel/qtest/qtest.c
/qemu/accel/tcg/user-exec-stub.c
/qemu/accel/xen/xen-all.c
/qemu/backends/cryptodev-builtin.c
/qemu/backends/cryptodev-vhost-user.c
/qemu/backends/cryptodev-vhost.c
/qemu/backends/cryptodev.c
/qemu/block.c
/qemu/block/coroutines.h
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/io.c
/qemu/block/meson.build
/qemu/block/qcow2.c
/qemu/blockdev-nbd.c
/qemu/configure
/qemu/contrib/elf2dmp/main.c
/qemu/contrib/gitdm/group-map-individuals
/qemu/contrib/vhost-user-gpu/meson.build
/qemu/docs/devel/fuzzing.txt
/qemu/docs/devel/testing.rst
/qemu/docs/system/arm/nuvoton.rst
/qemu/docs/system/deprecated.rst
/qemu/docs/tools/qemu-img.rst
/qemu/docs/tools/virtiofsd.rst
/qemu/hw/arm/Kconfig
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/tosa.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/char/pl011.c
/qemu/hw/char/trace-events
/qemu/hw/core/clock.c
/qemu/hw/core/machine.c
/qemu/hw/core/ptimer.c
/qemu/hw/core/qdev-clock.c
/qemu/hw/core/trace-events
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/pc.c
/qemu/hw/ide/core.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/bcm2835_cprman.c
/qemu/hw/misc/led.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/mps2-fpgaio.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/npcm7xx_clk.c
/qemu/hw/misc/npcm7xx_rng.c
/qemu/hw/misc/sifive_u_otp.c
/qemu/hw/misc/trace-events
/qemu/hw/net/spapr_llan.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_events.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/opentitan.c
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/spike.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/trace-events
/qemu/hw/timer/armv7m_systick.c
/qemu/hw/timer/npcm7xx_timer.c
/qemu/hw/timer/sh_timer.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ehci.h
/qemu/hw/watchdog/Kconfig
/qemu/hw/watchdog/meson.build
/qemu/hw/watchdog/sbsa_gwdt.c
/qemu/include/block/block.h
/qemu/include/elf.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/memory.h
/qemu/include/exec/memory_ldst_cached.h.inc
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/bcm2836.h
/qemu/include/hw/arm/npcm7xx.h
/qemu/include/hw/arm/raspi_platform.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/pl011.h
/qemu/include/hw/clock.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/gpio/npcm7xx_gpio.h
/qemu/include/hw/intc/sifive_plic.h
/qemu/include/hw/mem/pc-dimm.h
/qemu/include/hw/misc/bcm2835_cprman.h
/qemu/include/hw/misc/bcm2835_cprman_internals.h
/qemu/include/hw/misc/led.h
/qemu/include/hw/misc/mps2-fpgaio.h
/qemu/include/hw/misc/mps2-scc.h
/qemu/include/hw/misc/npcm7xx_clk.h
/qemu/include/hw/misc/npcm7xx_rng.h
/qemu/include/hw/misc/sifive_u_otp.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_nvdimm.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/riscv/boot.h
/qemu/include/hw/riscv/sifive_u.h
/qemu/include/hw/timer/armv7m_systick.h
/qemu/include/hw/timer/npcm7xx_timer.h
/qemu/include/hw/watchdog/sbsa_gwdt.h
/qemu/include/io/channel-buffer.h
/qemu/include/io/channel-command.h
/qemu/include/io/channel-file.h
/qemu/include/io/channel-socket.h
/qemu/include/io/channel-tls.h
/qemu/include/io/channel-util.h
/qemu/include/io/channel-watch.h
/qemu/include/io/channel-websock.h
/qemu/include/io/channel.h
/qemu/include/io/dns-resolver.h
/qemu/include/io/task.h
/qemu/include/migration/vmstate.h
/qemu/include/qapi/util.h
/qemu/include/sysemu/cpus.h
/qemu/include/sysemu/cryptodev-vhost-user.h
/qemu/include/sysemu/cryptodev-vhost.h
/qemu/include/sysemu/cryptodev.h
/qemu/io/channel-buffer.c
/qemu/io/channel-command.c
/qemu/io/channel-file.c
/qemu/io/channel-socket.c
/qemu/io/channel-tls.c
/qemu/io/channel-util.c
/qemu/io/channel-watch.c
/qemu/io/channel-websock.c
/qemu/io/channel.c
/qemu/io/dns-resolver.c
/qemu/io/task.c
/qemu/linux-user/aarch64/signal.c
/qemu/linux-user/aarch64/syscall_nr.h
/qemu/linux-user/alpha/syscall.tbl
/qemu/linux-user/arm/syscall.tbl
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/syscall.tbl
/qemu/linux-user/i386/syscall_32.tbl
/qemu/linux-user/m68k/syscall.tbl
/qemu/linux-user/microblaze/syscall.tbl
/qemu/linux-user/mips/syscall-args-o32.c.inc
/qemu/linux-user/mips/syscall_o32.tbl
/qemu/linux-user/mips64/syscall_n32.tbl
/qemu/linux-user/mips64/syscall_n64.tbl
/qemu/linux-user/mmap.c
/qemu/linux-user/nios2/syscall_nr.h
/qemu/linux-user/openrisc/syscall_nr.h
/qemu/linux-user/ppc/syscall.tbl
/qemu/linux-user/qemu.h
/qemu/linux-user/riscv/syscall32_nr.h
/qemu/linux-user/riscv/syscall64_nr.h
/qemu/linux-user/s390x/syscall.tbl
/qemu/linux-user/sh4/syscall.tbl
/qemu/linux-user/sparc/syscall.tbl
/qemu/linux-user/sparc64/syscall.tbl
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/x86_64/syscall_64.tbl
/qemu/linux-user/xtensa/syscall.tbl
/qemu/memory_ldst.c.inc
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/block-dirty-bitmap.c
/qemu/migration/block.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/page_cache.c
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/migration/vmstate-types.c
/qemu/migration/vmstate.c
server.c
/qemu/net/meson.build
/qemu/pc-bios/descriptors/meson.build
/qemu/pc-bios/meson.build
/qemu/qapi/block-export.json
/qemu/qemu-img-cmds.hx
/qemu/qemu-img.c
/qemu/qemu-nbd.c
/qemu/qemu-options.hx
/qemu/replay/meson.build
/qemu/replay/stubs-system.c
/qemu/scripts/checkpatch.pl
/qemu/scripts/gensyscalls.sh
/qemu/scripts/oss-fuzz/build.sh
/qemu/scripts/oss-fuzz/minimize_qtest_trace.py
/qemu/scripts/oss-fuzz/reorder_fuzzer_qtest_trace.py
/qemu/scripts/qmp/qmp
/qemu/scripts/qmp/qmp-shell
/qemu/scripts/tracetool.py
/qemu/scripts/undefsym.py
/qemu/softmmu/memory.c
/qemu/softmmu/physmem.c
/qemu/softmmu/vl.c
/qemu/stubs/meson.build
/qemu/stubs/replay-tools.c
/qemu/stubs/replay.c
/qemu/target/arm/cpu.h
/qemu/target/arm/translate-a64.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/machine.c
/qemu/target/ppc/mmu-hash64.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/translate_init.c.inc
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/op_helper.c
/qemu/target/rx/insns.decode
/qemu/target/rx/op_helper.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu_features.c
/qemu/target/s390x/cpu_features.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/kvm.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/xtensa/cpu.c
/qemu/tests/acceptance/boot_linux.py
/qemu/tests/acceptance/boot_linux_console.py
/qemu/tests/acceptance/machine_m68k_nextcube.py
/qemu/tests/acceptance/ppc_prep_40p.py
/qemu/tests/acceptance/reverse_debugging.py
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/qemu/tests/fp/meson.build
/qemu/tests/ptimer-test-stubs.c
/qemu/tests/qemu-iotests/274
/qemu/tests/qemu-iotests/274.out
/qemu/tests/qemu-iotests/291
/qemu/tests/qemu-iotests/291.out
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/fuzz/fuzz.c
/qemu/tests/qtest/fuzz/fuzz.h
/qemu/tests/qtest/fuzz/generic_fuzz.c
/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/qemu/tests/qtest/fuzz/meson.build
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_gpio-test.c
/qemu/tests/qtest/npcm7xx_rng-test.c
/qemu/tests/qtest/npcm7xx_watchdog_timer-test.c
/qemu/tests/qtest/qmp-cmd-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/bti-1.c
/qemu/tests/tcg/aarch64/bti-2.c
/qemu/tests/tcg/aarch64/bti-crt.inc.c
/qemu/tests/tcg/configure.sh
/qemu/tests/test-bdrv-drain.c
/qemu/tests/test-io-channel-buffer.c
/qemu/tests/test-io-channel-command.c
/qemu/tests/test-io-channel-file.c
/qemu/tests/test-io-channel-socket.c
/qemu/tests/test-io-task.c
/qemu/tools/meson.build
/qemu/tools/virtiofsd/helper.c
/qemu/tools/virtiofsd/meson.build
/qemu/tools/virtiofsd/passthrough_ll.c
/qemu/trace/control.c
/qemu/ui/icons/meson.build
/qemu/ui/meson.build
/qemu/util/cutils.c
f51d23c829-Sep-2020 Stefan Hajnoczi <stefanha@redhat.com>

block/export: add iothread and fixed-iothread options

Make it possible to specify the iothread where the export will run. By
default the block node can be moved to other AioContexts later and the
ex

block/export: add iothread and fixed-iothread options

Make it possible to specify the iothread where the export will run. By
default the block node can be moved to other AioContexts later and the
export will follow. The fixed-iothread option forces strict behavior
that prevents changing AioContext while the export is active. See the
QAPI docs for details.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200929125516.186715-5-stefanha@redhat.com
[Fix stray '#' character in block-export.json and add missing "(since:
5.2)" as suggested by Eric Blake.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

cbc20bfb29-Sep-2020 Stefan Hajnoczi <stefanha@redhat.com>

block: move block exports to libblockdev

Block exports are used by softmmu, qemu-storage-daemon, and qemu-nbd.
They are not used by other programs and are not otherwise needed in
libblock.

Undo the

block: move block exports to libblockdev

Block exports are used by softmmu, qemu-storage-daemon, and qemu-nbd.
They are not used by other programs and are not otherwise needed in
libblock.

Undo the recent move of blockdev-nbd.c from blockdev_ss into block_ss.
Since bdrv_close_all() (libblock) calls blk_exp_close_all()
(libblockdev) a stub function is required..

Make qemu-nbd.c use signal handling utility functions instead of
duplicating the code. This helps because os-posix.c is in libblockdev
and it depends on a qemu_system_killed() symbol that qemu-nbd.c lacks.
Once we use the signal handling utility functions we also end up
providing the necessary symbol.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20200929125516.186715-4-stefanha@redhat.com
[Fixed s/ndb/nbd/ typo in commit description as suggested by Eric Blake
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/.cirrus.yml
/qemu/.gitlab-ci.d/check-dco.py
/qemu/.gitlab-ci.d/check-patch.py
/qemu/.gitlab-ci.yml
/qemu/.mailmap
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/accel/stubs/xen-stub.c
/qemu/accel/tcg/cputlb.c
/qemu/audio/meson.build
/qemu/audio/spiceaudio.c
/qemu/authz/listfile.c
/qemu/authz/meson.build
/qemu/backends/rng-egd.c
/qemu/backends/rng-random.c
/qemu/backends/rng.c
/qemu/backends/vhost-user.c
/qemu/block/blkdebug.c
/qemu/block/export/export.c
/qemu/block/export/meson.build
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/export/vhost-user-blk-server.h
/qemu/block/nvme.c
/qemu/block/sheepdog.c
/qemu/block/vmdk.c
/qemu/chardev/meson.build
/qemu/chardev/spice.c
/qemu/configure
/qemu/contrib/gitdm/domain-map
/qemu/contrib/gitdm/group-map-academics
/qemu/contrib/gitdm/group-map-individuals
/qemu/contrib/gitdm/group-map-redhat
/qemu/contrib/libvhost-user/libvhost-user-glib.c
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/libvhost-user/meson.build
/qemu/contrib/plugins/hotblocks.c
/qemu/cpu.c
/qemu/crypto/meson.build
/qemu/default-configs/devices/arm-softmmu.mak
/qemu/docs/conf.py
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/loads-stores.rst
/qemu/docs/devel/multi-thread-tcg.rst
/qemu/docs/devel/qtest.rst
/qemu/docs/devel/testing.rst
/qemu/docs/meson.build
/qemu/docs/sphinx/kerneldoc.py
/qemu/docs/system/cpu-models-mips.rst.inc
/qemu/docs/system/deprecated.rst
/qemu/docs/tools/virtiofsd.rst
/qemu/hw/9pfs/9p-synth.c
/qemu/hw/9pfs/virtio-9p-device.c
/qemu/hw/acpi/aml-build-stub.c
/qemu/hw/acpi/piix4.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/strongarm.c
/qemu/hw/block/nvme.c
/qemu/hw/char/serial.c
/qemu/hw/core/bus.c
/qemu/hw/core/clock.c
/qemu/hw/core/machine.c
/qemu/hw/core/meson.build
/qemu/hw/core/qdev-clock.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev.c
/qemu/hw/display/vga-pci.c
/qemu/hw/i2c/microbit_i2c.c
/qemu/hw/i386/Kconfig
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/acpi-common.h
/qemu/hw/i386/acpi-microvm.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/kvm/apic.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/microvm.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/i386/xen/xen_platform.c
/qemu/hw/ide/core.c
/qemu/hw/intc/bcm2835_ic.c
/qemu/hw/intc/bcm2836_control.c
/qemu/hw/intc/trace-events
/qemu/hw/mips/boston.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/malta.c
/qemu/hw/mips/mipssim.c
/qemu/hw/mips/r4k.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/mips_cpc.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvram/fw_cfg-interface.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/meson.build
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/mac.h
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/ppc405_boards.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/rtc/goldfish_rtc.c
/qemu/hw/rtc/m48t59-isa.c
/qemu/hw/rtc/m48t59.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/sd/core.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sd/trace-events
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/timer/bcm2835_systmr.c
/qemu/hw/timer/trace-events
/qemu/hw/usb/Kconfig
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/hcd-ehci.c
/qemu/hw/usb/hcd-xhci-nec.c
/qemu/hw/usb/hcd-xhci-pci.c
/qemu/hw/usb/hcd-xhci-sysbus.c
/qemu/hw/usb/hcd-xhci-sysbus.h
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/hcd-xhci.h
/qemu/hw/xen/xen-backend.c
/qemu/hw/xen/xen-bus.c
/qemu/include/chardev/spice.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/exec-all.h
/qemu/include/hw/acpi/vmgenid.h
/qemu/include/hw/clock.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/i386/microvm.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/mips/cps.h
/qemu/include/hw/mips/mips.h
/qemu/include/hw/misc/vmcoreinfo.h
/qemu/include/hw/pci-host/uninorth.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/rtc/m48t59.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/timer/bcm2835_systmr.h
/qemu/include/hw/usb/xhci.h
/qemu/include/hw/xen/xen-backend.h
/qemu/include/hw/xen/xen-bus.h
/qemu/include/hw/xen/xen-legacy-backend.h
/qemu/include/net/can_host.h
/qemu/include/qemu/cutils.h
/qemu/include/qemu/help_option.h
/qemu/include/qemu/module.h
/qemu/include/qemu/option.h
/qemu/include/qemu/vhost-user-server.h
/qemu/include/qom/object_interfaces.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/os-win32.h
/qemu/include/ui/qemu-spice-module.h
/qemu/include/ui/qemu-spice.h
/qemu/io/meson.build
/qemu/linux-user/microblaze/signal.c
/qemu/linux-user/microblaze/target_signal.h
/qemu/meson
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/dirtyrate.c
/qemu/migration/meson.build
/qemu/migration/savevm.c
/qemu/monitor/meson.build
/qemu/monitor/misc.c
/qemu/monitor/monitor.c
/qemu/monitor/qmp-cmds.c
meson.build
/qemu/net/can/can_socketcan.c
/qemu/plugins/loader.c
/qemu/python/mypy.ini
/qemu/python/qemu/.isort.cfg
/qemu/python/qemu/accel.py
/qemu/python/qemu/console_socket.py
/qemu/python/qemu/machine.py
/qemu/python/qemu/qmp.py
/qemu/python/qemu/qtest.py
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/qobject-input-visitor.c
/qemu/qemu-edid.c
/qemu/qemu-img-cmds.hx
/qemu/qemu-nbd.c
/qemu/qom/meson.build
/qemu/qom/object_interfaces.c
/qemu/scripts/ci/gitlab-pipeline-status
/qemu/scripts/coccinelle/qom-parent-type.cocci
/qemu/scripts/decodetree.py
/qemu/scripts/mtest2make.py
/qemu/scripts/qapi-gen.py
/qemu/scripts/qapi/.flake8
/qemu/scripts/qapi/.isort.cfg
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/common.py
/qemu/scripts/qapi/events.py
/qemu/scripts/qapi/expr.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/main.py
/qemu/scripts/qapi/mypy.ini
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/pylintrc
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/source.py
/qemu/scripts/qapi/types.py
/qemu/scripts/qapi/visit.py
/qemu/scripts/qemu-version.sh
/qemu/softmmu/bootdevice.c
/qemu/softmmu/cpus.c
/qemu/softmmu/device_tree.c
/qemu/softmmu/dma-helpers.c
/qemu/softmmu/memory.c
/qemu/softmmu/meson.build
/qemu/softmmu/physmem.c
/qemu/softmmu/qdev-monitor.c
/qemu/softmmu/qemu-seccomp.c
/qemu/softmmu/qtest.c
/qemu/softmmu/tpm.c
/qemu/softmmu/vl.c
/qemu/storage-daemon/meson.build
/qemu/storage-daemon/qemu-storage-daemon.c
/qemu/stubs/blk-exp-close-all.c
/qemu/stubs/meson.build
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/m-nocp.decode
/qemu/target/arm/mte_helper.c
/qemu/target/arm/t32.decode
/qemu/target/arm/translate-vfp.c.inc
/qemu/target/arm/translate.c
/qemu/target/arm/vfp_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/hax-cpus.c
/qemu/target/i386/kvm-stub.c
/qemu/target/i386/kvm.c
/qemu/target/i386/kvm_i386.h
/qemu/target/mips/cp0_helper.c
/qemu/target/mips/cp0_timer.c
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/fpu_helper.c
/qemu/target/mips/internal.h
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/mips/translate_init.c.inc
/qemu/target/sparc/int32_helper.c
/qemu/tests/Makefile.include
/qemu/tests/acceptance/machine_rx_gdbsim.py
/qemu/tests/acceptance/replay_kernel.py
/qemu/tests/data/acpi/microvm/APIC.pcie
/qemu/tests/data/acpi/microvm/DSDT.rtc
/qemu/tests/data/acpi/microvm/DSDT.usb
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian10.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/travis.docker
/qemu/tests/docker/dockerfiles/ubuntu.docker
/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/qemu/tests/include/meson.build
/qemu/tests/meson.build
/qemu/tests/plugin/bb.c
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/drive_del-test.c
/qemu/tests/qtest/fuzz-test.c
/qemu/tests/qtest/fuzz/fuzz.c
/qemu/tests/qtest/libqos/libqtest.h
/qemu/tests/qtest/libqos/virtio-9p.c
/qemu/tests/qtest/libqos/virtio-9p.h
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_timer-test.c
/qemu/tests/qtest/pvpanic-test.c
/qemu/tests/qtest/qmp-test.c
/qemu/tests/qtest/rtc-test.c
/qemu/tests/qtest/tpm-util.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/requirements.txt
/qemu/tests/tcg/multiarch/linux-test.c
/qemu/tests/test-bitmap.c
/qemu/tests/test-char.c
/qemu/tests/test-keyval.c
/qemu/tests/vhost-user-bridge.c
/qemu/tests/vm/centos
/qemu/tests/vm/centos.aarch64
/qemu/tests/vm/fedora
/qemu/tests/vm/freebsd
/qemu/tests/vm/netbsd
/qemu/tests/vm/openbsd
/qemu/tests/vm/ubuntu.aarch64
/qemu/tests/vm/ubuntu.i386
/qemu/tools/virtiofsd/fuse_i.h
/qemu/tools/virtiofsd/fuse_lowlevel.c
/qemu/tools/virtiofsd/fuse_virtio.c
/qemu/tools/virtiofsd/passthrough_ll.c
/qemu/ui/cocoa.m
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/gtk.c
/qemu/ui/input-barrier.c
/qemu/ui/input-linux.c
/qemu/ui/meson.build
/qemu/ui/sdl2.c
/qemu/ui/spice-app.c
/qemu/ui/spice-core.c
/qemu/ui/spice-input.c
/qemu/ui/spice-module.c
/qemu/ui/vnc-stubs.c
/qemu/util/block-helpers.c
/qemu/util/block-helpers.h
/qemu/util/cutils.c
/qemu/util/keyval.c
/qemu/util/meson.build
/qemu/util/module.c
/qemu/util/oslib-win32.c
/qemu/util/vhost-user-server.c
ebd5706230-Sep-2020 Eric Blake <eblake@redhat.com>

nbd: Simplify meta-context parsing

We had a premature optimization of trying to read as little from the
wire as possible while handling NBD_OPT_SET_META_CONTEXT in phases.
But in reality, we HAVE to

nbd: Simplify meta-context parsing

We had a premature optimization of trying to read as little from the
wire as possible while handling NBD_OPT_SET_META_CONTEXT in phases.
But in reality, we HAVE to read the entire string from the client
before we can get to the next command, and it is easier to just read
it all at once than it is to read it in pieces. And once we do that,
several functions end up no longer performing I/O, so they can drop
length and errp parameters, and just return a bool instead of
modifying through a pointer.

Our iotests still pass; I also checked that libnbd's testsuite (which
covers more corner cases of odd meta context requests) still passes.
There are cases where the sequence of trace messages produced differs
(for example, when no bitmap is exported, a query for "qemu:" now
produces two trace lines instead of one), but trace points are for
debug and have no effect on what the client sees.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200930121105.667049-4-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[eblake: enhance commit message]
Signed-off-by: Eric Blake <eblake@redhat.com>

show more ...

d1e2c3e730-Sep-2020 Eric Blake <eblake@redhat.com>

nbd/server: Reject embedded NUL in NBD strings

The NBD spec is clear that any string sent from the client must not
contain embedded NUL characters. If the client passes "a\0", we
should reject that

nbd/server: Reject embedded NUL in NBD strings

The NBD spec is clear that any string sent from the client must not
contain embedded NUL characters. If the client passes "a\0", we
should reject that option request rather than act on "a".

Testing this is not possible with a compliant client, but I was able
to use gdb to coerce libnbd into temporarily behaving as such a
client.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200930121105.667049-3-eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Eric Blake <eblake@redhat.com>

show more ...

bbc35fc230-Sep-2020 Christian Borntraeger <borntraeger@de.ibm.com>

nbd: silence maybe-uninitialized warnings

gcc 10 from Fedora 32 gives me:

Compiling C object libblock.fa.p/nbd_server.c.o
../nbd/server.c: In function ‘nbd_co_client_start’:
../nbd/server.c:625:14:

nbd: silence maybe-uninitialized warnings

gcc 10 from Fedora 32 gives me:

Compiling C object libblock.fa.p/nbd_server.c.o
../nbd/server.c: In function ‘nbd_co_client_start’:
../nbd/server.c:625:14: error: ‘namelen’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
625 | rc = nbd_negotiate_send_info(client, NBD_INFO_NAME, namelen, name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
626 | errp);
| ~~~~~
../nbd/server.c:564:14: note: ‘namelen’ was declared here
564 | uint32_t namelen;
| ^~~~~~~
cc1: all warnings being treated as errors

As I cannot see how this can happen, let uns silence the warning.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-Id: <20200930155859.303148-3-borntraeger@de.ibm.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>

show more ...


/qemu/.readthedocs.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/accel/kvm/kvm-all.c
/qemu/accel/kvm/kvm-cpus.c
/qemu/accel/kvm/kvm-cpus.h
/qemu/accel/kvm/meson.build
/qemu/accel/kvm/trace-events
/qemu/accel/meson.build
/qemu/accel/qtest/meson.build
/qemu/accel/qtest/qtest-cpus.c
/qemu/accel/qtest/qtest-cpus.h
/qemu/accel/qtest/qtest.c
/qemu/accel/stubs/hax-stub.c
/qemu/accel/stubs/kvm-stub.c
/qemu/accel/stubs/meson.build
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/meson.build
/qemu/accel/tcg/tcg-all.c
/qemu/accel/tcg/tcg-cpus.c
/qemu/accel/tcg/tcg-cpus.h
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/accel/tcg/user-exec.c
/qemu/audio/wavcapture.c
/qemu/block.c
/qemu/block/block-gen.h
/qemu/block/coroutines.h
/qemu/block/io.c
/qemu/block/meson.build
/qemu/block/nvme.c
/qemu/block/qapi.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-snapshot.c
/qemu/block/qcow2.h
/qemu/blockdev.c
/qemu/capstone
/qemu/configure
/qemu/default-configs/devices/aarch64-softmmu.mak
/qemu/default-configs/devices/alpha-softmmu.mak
/qemu/default-configs/devices/arm-softmmu.mak
/qemu/default-configs/devices/avr-softmmu.mak
/qemu/default-configs/devices/cris-softmmu.mak
/qemu/default-configs/devices/hppa-softmmu.mak
/qemu/default-configs/devices/i386-softmmu.mak
/qemu/default-configs/devices/lm32-softmmu.mak
/qemu/default-configs/devices/m68k-softmmu.mak
/qemu/default-configs/devices/microblaze-softmmu.mak
/qemu/default-configs/devices/microblazeel-softmmu.mak
/qemu/default-configs/devices/mips-softmmu-common.mak
/qemu/default-configs/devices/mips-softmmu.mak
/qemu/default-configs/devices/mips64-softmmu.mak
/qemu/default-configs/devices/mips64el-softmmu.mak
/qemu/default-configs/devices/mipsel-softmmu.mak
/qemu/default-configs/devices/moxie-softmmu.mak
/qemu/default-configs/devices/nios2-softmmu.mak
/qemu/default-configs/devices/or1k-softmmu.mak
/qemu/default-configs/devices/ppc-softmmu.mak
/qemu/default-configs/devices/ppc64-softmmu.mak
/qemu/default-configs/devices/riscv32-softmmu.mak
/qemu/default-configs/devices/riscv64-softmmu.mak
/qemu/default-configs/devices/rx-softmmu.mak
/qemu/default-configs/devices/s390x-softmmu.mak
/qemu/default-configs/devices/sh4-softmmu.mak
/qemu/default-configs/devices/sh4eb-softmmu.mak
/qemu/default-configs/devices/sparc-softmmu.mak
/qemu/default-configs/devices/sparc64-softmmu.mak
/qemu/default-configs/devices/tricore-softmmu.mak
/qemu/default-configs/devices/unicore32-softmmu.mak
/qemu/default-configs/devices/x86_64-softmmu.mak
/qemu/default-configs/devices/xtensa-softmmu.mak
/qemu/default-configs/devices/xtensaeb-softmmu.mak
/qemu/default-configs/targets/aarch64-linux-user.mak
/qemu/default-configs/targets/aarch64-softmmu.mak
/qemu/default-configs/targets/aarch64_be-linux-user.mak
/qemu/default-configs/targets/alpha-linux-user.mak
/qemu/default-configs/targets/alpha-softmmu.mak
/qemu/default-configs/targets/arm-linux-user.mak
/qemu/default-configs/targets/arm-softmmu.mak
/qemu/default-configs/targets/armeb-linux-user.mak
/qemu/default-configs/targets/avr-softmmu.mak
/qemu/default-configs/targets/cris-linux-user.mak
/qemu/default-configs/targets/cris-softmmu.mak
/qemu/default-configs/targets/hppa-linux-user.mak
/qemu/default-configs/targets/hppa-softmmu.mak
/qemu/default-configs/targets/i386-bsd-user.mak
/qemu/default-configs/targets/i386-linux-user.mak
/qemu/default-configs/targets/i386-softmmu.mak
/qemu/default-configs/targets/lm32-softmmu.mak
/qemu/default-configs/targets/m68k-linux-user.mak
/qemu/default-configs/targets/m68k-softmmu.mak
/qemu/default-configs/targets/microblaze-linux-user.mak
/qemu/default-configs/targets/microblaze-softmmu.mak
/qemu/default-configs/targets/microblazeel-linux-user.mak
/qemu/default-configs/targets/microblazeel-softmmu.mak
/qemu/default-configs/targets/mips-linux-user.mak
/qemu/default-configs/targets/mips-softmmu.mak
/qemu/default-configs/targets/mips64-linux-user.mak
/qemu/default-configs/targets/mips64-softmmu.mak
/qemu/default-configs/targets/mips64el-linux-user.mak
/qemu/default-configs/targets/mips64el-softmmu.mak
/qemu/default-configs/targets/mipsel-linux-user.mak
/qemu/default-configs/targets/mipsel-softmmu.mak
/qemu/default-configs/targets/mipsn32-linux-user.mak
/qemu/default-configs/targets/mipsn32el-linux-user.mak
/qemu/default-configs/targets/moxie-softmmu.mak
/qemu/default-configs/targets/nios2-linux-user.mak
/qemu/default-configs/targets/nios2-softmmu.mak
/qemu/default-configs/targets/or1k-linux-user.mak
/qemu/default-configs/targets/or1k-softmmu.mak
/qemu/default-configs/targets/ppc-linux-user.mak
/qemu/default-configs/targets/ppc-softmmu.mak
/qemu/default-configs/targets/ppc64-linux-user.mak
/qemu/default-configs/targets/ppc64-softmmu.mak
/qemu/default-configs/targets/ppc64abi32-linux-user.mak
/qemu/default-configs/targets/ppc64le-linux-user.mak
/qemu/default-configs/targets/riscv32-linux-user.mak
/qemu/default-configs/targets/riscv32-softmmu.mak
/qemu/default-configs/targets/riscv64-linux-user.mak
/qemu/default-configs/targets/riscv64-softmmu.mak
/qemu/default-configs/targets/rx-softmmu.mak
/qemu/default-configs/targets/s390x-linux-user.mak
/qemu/default-configs/targets/s390x-softmmu.mak
/qemu/default-configs/targets/sh4-linux-user.mak
/qemu/default-configs/targets/sh4-softmmu.mak
/qemu/default-configs/targets/sh4eb-linux-user.mak
/qemu/default-configs/targets/sh4eb-softmmu.mak
/qemu/default-configs/targets/sparc-bsd-user.mak
/qemu/default-configs/targets/sparc-linux-user.mak
/qemu/default-configs/targets/sparc-softmmu.mak
/qemu/default-configs/targets/sparc32plus-linux-user.mak
/qemu/default-configs/targets/sparc64-bsd-user.mak
/qemu/default-configs/targets/sparc64-linux-user.mak
/qemu/default-configs/targets/sparc64-softmmu.mak
/qemu/default-configs/targets/tilegx-linux-user.mak
/qemu/default-configs/targets/tricore-softmmu.mak
/qemu/default-configs/targets/unicore32-softmmu.mak
/qemu/default-configs/targets/x86_64-bsd-user.mak
/qemu/default-configs/targets/x86_64-linux-user.mak
/qemu/default-configs/targets/x86_64-softmmu.mak
/qemu/default-configs/targets/xtensa-linux-user.mak
/qemu/default-configs/targets/xtensa-softmmu.mak
/qemu/default-configs/targets/xtensaeb-linux-user.mak
/qemu/default-configs/targets/xtensaeb-softmmu.mak
/qemu/disas.c
/qemu/disas/capstone.c
/qemu/disas/meson.build
/qemu/dma-helpers.c
/qemu/docs/devel/block-coroutine-wrapper.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/qapi-code-gen.txt
/qemu/docs/devel/qom.rst
/qemu/docs/interop/qcow2.txt
/qemu/docs/replay.txt
/qemu/docs/specs/ppc-spapr-numa.rst
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/system/arm/cpu-features.rst
/qemu/docs/system/deprecated.rst
/qemu/dump/dump.c
/qemu/exec.c
/qemu/gdbstub.c
/qemu/hmp-commands-info.hx
/qemu/hmp-commands.hx
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/virt.c
/qemu/hw/char/bcm2835_aux.c
/qemu/hw/core/cpu.c
/qemu/hw/core/machine-hmp-cmds.c
/qemu/hw/core/numa.c
/qemu/hw/core/ptimer.c
/qemu/hw/core/qdev-prop-internal.h
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/i386/x86.c
/qemu/hw/net/virtio-net.c
/qemu/hw/ppc/pnv.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_hcall.c
/qemu/hw/ppc/spapr_numa.c
/qemu/hw/ppc/spapr_nvdimm.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_vio.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/event-facility.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/ssi/trace-events
/qemu/hw/vfio/ccw.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/include/block/aio.h
/qemu/include/block/block.h
/qemu/include/block/snapshot.h
/qemu/include/disas/dis-asm.h
/qemu/include/disas/disas.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/log.h
/qemu/include/exec/memory.h
/qemu/include/hw/arm/fsl-imx25.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_drc.h
/qemu/include/hw/ppc/spapr_nvdimm.h
/qemu/include/hw/qdev-properties.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/monitor/hmp.h
/qemu/include/monitor/monitor.h
/qemu/include/qapi/qmp/dispatch.h
/qemu/include/qemu/timer.h
/qemu/include/qemu/vfio-helpers.h
/qemu/include/qom/object.h
/qemu/include/sysemu/cpu-timers.h
/qemu/include/sysemu/cpus.h
/qemu/include/sysemu/hax.h
/qemu/include/sysemu/hvf.h
/qemu/include/sysemu/hw_accel.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/qtest.h
/qemu/include/sysemu/replay.h
/qemu/include/sysemu/whpx.h
/qemu/include/tcg/tcg-gvec-desc.h
/qemu/include/tcg/tcg.h
/qemu/linux-headers/linux/kvm.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/colo.c
/qemu/migration/fd.c
/qemu/migration/migration.c
/qemu/migration/savevm.c
/qemu/monitor/hmp-cmds.c
/qemu/monitor/hmp.c
/qemu/monitor/misc.c
/qemu/monitor/monitor-internal.h
/qemu/monitor/monitor.c
/qemu/monitor/qmp-cmds-control.c
/qemu/monitor/qmp-cmds.c
/qemu/monitor/qmp.c
server.c
/qemu/net/meson.build
/qemu/net/socket.c
/qemu/net/tap.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/Makefile
/qemu/pc-bios/s390-ccw/bootmap.c
/qemu/pc-bios/s390-ccw/bootmap.h
/qemu/pc-bios/s390-ccw/jump2ipl.c
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-ccw/s390-ccw.h
/qemu/pc-bios/s390-ccw/start.S
/qemu/pc-bios/s390-ccw/virtio-blkdev.c
/qemu/pc-bios/s390-ccw/virtio-scsi.c
/qemu/pc-bios/s390-ccw/virtio-scsi.h
/qemu/pc-bios/s390-netboot.img
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/meson.build
/qemu/qapi/misc.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/qmp-registry.c
/qemu/qapi/replay.json
/qemu/qapi/run-state.json
/qemu/qemu-options.hx
/qemu/qga/main.c
/qemu/qom/object.c
/qemu/replay/meson.build
/qemu/replay/replay-debugging.c
/qemu/replay/replay-events.c
/qemu/replay/replay-internal.h
/qemu/replay/replay.c
/qemu/scripts/block-coroutine-wrapper.py
/qemu/scripts/check_sparse.py
/qemu/scripts/kernel-doc
/qemu/scripts/qapi/commands.py
/qemu/scripts/qapi/expr.py
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/schema.py
/qemu/softmmu/cpu-timers.c
/qemu/softmmu/cpus.c
/qemu/softmmu/icount.c
/qemu/softmmu/meson.build
/qemu/softmmu/qtest.c
/qemu/softmmu/timers-state.h
/qemu/softmmu/vl.c
/qemu/storage-daemon/qemu-storage-daemon.c
/qemu/stubs/cpu-get-clock.c
/qemu/stubs/cpu-synchronize-state.c
/qemu/stubs/cpus-get-virtual-clock.c
/qemu/stubs/icount.c
/qemu/stubs/meson.build
/qemu/stubs/monitor-core.c
/qemu/stubs/qemu-timer-notify-cb.c
/qemu/stubs/qtest.c
/qemu/stubs/replay.c
/qemu/target/alpha/translate.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper.c
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/monitor.c
/qemu/target/i386/hax-all.c
/qemu/target/i386/hax-cpus.c
/qemu/target/i386/hax-cpus.h
/qemu/target/i386/hax-i386.h
/qemu/target/i386/hax-mem.c
/qemu/target/i386/hax-posix.c
/qemu/target/i386/hax-windows.c
/qemu/target/i386/hax-windows.h
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/hvf-cpus.c
/qemu/target/i386/hvf/hvf-cpus.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/meson.build
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/hvf/x86hvf.h
/qemu/target/i386/kvm.c
/qemu/target/i386/meson.build
/qemu/target/i386/whpx-all.c
/qemu/target/i386/whpx-cpus.c
/qemu/target/i386/whpx-cpus.h
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/machine.c
/qemu/target/riscv/csr.c
/qemu/target/s390x/cc_helper.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_features.h
/qemu/target/s390x/cpu_features_def.h.inc
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/gen-features.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/insn-data.def
/qemu/target/s390x/internal.h
/qemu/target/s390x/kvm.c
/qemu/target/s390x/machine.c
/qemu/target/s390x/translate.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/mips/tcg-target.c.inc
/qemu/tcg/optimize.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/s390/tcg-target.c.inc
/qemu/tcg/sparc/tcg-target.c.inc
/qemu/tcg/tcg-op-gvec.c
/qemu/tcg/tcg-op-vec.c
/qemu/tcg/tcg.c
/qemu/tcg/tci/tcg-target.c.inc
/qemu/tests/Makefile.include
/qemu/tests/acceptance/reverse_debugging.py
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/meson.build
/qemu/tests/ptimer-test-stubs.c
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qapi-schema/oob-coroutine.err
/qemu/tests/qapi-schema/oob-coroutine.json
/qemu/tests/qapi-schema/oob-coroutine.out
/qemu/tests/qapi-schema/qapi-schema-test.json
/qemu/tests/qapi-schema/qapi-schema-test.out
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qemu-iotests/261
/qemu/tests/qemu-iotests/261.out
/qemu/tests/qemu-iotests/267.out
/qemu/tests/qemu-iotests/307
/qemu/tests/qemu-iotests/307.out
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/test-bdrv-drain.c
/qemu/tests/test-qmp-cmds.c
/qemu/tests/test-timed-average.c
/qemu/tests/test-util-sockets.c
/qemu/trace/control.c
/qemu/util/aio-posix.c
/qemu/util/async.c
/qemu/util/main-loop.c
/qemu/util/qemu-error.c
/qemu/util/qemu-print.c
/qemu/util/qemu-sockets.c
/qemu/util/qemu-timer.c
/qemu/util/vfio-helpers.c
5b1cb49724-Sep-2020 Kevin Wolf <kwolf@redhat.com>

nbd: Merge nbd_export_new() and nbd_export_create()

There is no real reason any more why nbd_export_new() and
nbd_export_create() should be separate functions. The latter only
performs a few checks

nbd: Merge nbd_export_new() and nbd_export_create()

There is no real reason any more why nbd_export_new() and
nbd_export_create() should be separate functions. The latter only
performs a few checks before it calls the former.

What makes the current state stand out is that it's the only function in
BlockExportDriver that is not a static function inside nbd/server.c, but
a small wrapper in blockdev-nbd.c that then calls back into nbd/server.c
for the real functionality.

Move all the checks to nbd/server.c and make the resulting function
static to improve readability.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-27-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

30dbc81d24-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Move writable to BlockExportOptions

The 'writable' option is a basic option that will probably be applicable
to most if not all export types that we will implement. Move it from NBD
to

block/export: Move writable to BlockExportOptions

The 'writable' option is a basic option that will probably be applicable
to most if not all export types that we will implement. Move it from NBD
to the generic BlockExport layer.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-26-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

331170e024-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Create BlockBackend in blk_exp_add()

Every export type will need a BlockBackend, so creating it centrally in
blk_exp_add() instead of the .create driver callback avoids duplication.

S

block/export: Create BlockBackend in blk_exp_add()

Every export type will need a BlockBackend, so creating it centrally in
blk_exp_add() instead of the .create driver callback avoids duplication.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-24-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

37a4f70c24-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Move blk to BlockExport

Every block export has a BlockBackend representing the disk that is
exported. It should live in BlockExport therefore.

Signed-off-by: Kevin Wolf <kwolf@redhat.

block/export: Move blk to BlockExport

Every block export has a BlockBackend representing the disk that is
exported. It should live in BlockExport therefore.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-23-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

3c3bc46224-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Add block-export-del

Implement a new QMP command block-export-del and make nbd-server-remove
a wrapper around it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <

block/export: Add block-export-del

Implement a new QMP command block-export-del and make nbd-server-remove
a wrapper around it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-21-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

3859ad3624-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Move strong user reference to block_exports

The reference owned by the user/monitor that is created when adding the
export and dropped when removing it was tied to the 'exports' list i

block/export: Move strong user reference to block_exports

The reference owned by the user/monitor that is created when adding the
export and dropped when removing it was tied to the 'exports' list in
nbd/server.c. Every block export will have a user reference, so move it
to the block export level and tie it to the 'block_exports' list in
block/export/export.c instead. This is necessary for introducing a QMP
command for removing exports.

Note that exports are present in block_exports even after the user has
requested shutdown. This is different from NBD's exports where exports
are immediately removed on a shutdown request, even if they are still in
the process of shutting down. In order to avoid that the user still
interacts with an export that is shutting down (and possibly removes it
a second time), we need to remember if the user actually still owns it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-20-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

bc4ee65b24-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Add blk_exp_close_all(_type)

This adds a function to shut down all block exports, and another one to
shut down the block exports of a single type. The latter is used for now
when stopp

block/export: Add blk_exp_close_all(_type)

This adds a function to shut down all block exports, and another one to
shut down the block exports of a single type. The latter is used for now
when stopping the NBD server. As soon as we implement support for
multiple NBD servers, we'll need a per-server list of exports and it
will be replaced by a function using that.

As a side effect, the BlockExport layer has a list tracking all existing
exports now. closed_exports loses its only user and can go away.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-18-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

a6ff798924-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Allocate BlockExport in blk_exp_add()

Instead of letting the driver allocate and return the BlockExport
object, allocate it already in blk_exp_add() and pass it. This allows us
to init

block/export: Allocate BlockExport in blk_exp_add()

Instead of letting the driver allocate and return the BlockExport
object, allocate it already in blk_exp_add() and pass it. This allows us
to initialise the generic part before calling into the driver so that
the driver can just use these values instead of having to parse the
options a second time.

For symmetry, move freeing the BlockExport to blk_exp_unref().

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-17-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

8612c68624-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Move AioContext from NBDExport to BlockExport

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-15-kwolf@redhat

block/export: Move AioContext from NBDExport to BlockExport

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-15-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

c69de1be24-Sep-2020 Kevin Wolf <kwolf@redhat.com>

block/export: Move refcount from NBDExport to BlockExport

Having a refcount makes sense for all types of block exports. It is also
a prerequisite for keeping a list of all exports at the BlockExport

block/export: Move refcount from NBDExport to BlockExport

Having a refcount makes sense for all types of block exports. It is also
a prerequisite for keeping a list of all exports at the BlockExport
level.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200924152717.287415-14-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

dbc9e94a24-Sep-2020 Kevin Wolf <kwolf@redhat.com>

nbd/server: Simplify export shutdown

Closing export is somewhat convoluted because nbd_export_close() and
nbd_export_put() call each other and the ways they actually end up being
nested is not neces

nbd/server: Simplify export shutdown

Closing export is somewhat convoluted because nbd_export_close() and
nbd_export_put() call each other and the ways they actually end up being
nested is not necessarily obvious.

However, it is not really necessary to call nbd_export_close() from
nbd_export_put() when putting the last reference because it only does
three things:

1. Close all clients. We're going to refcount 0 and all clients hold a
reference, so we know there is no active client any more.

2. Close the user reference (represented by exp->name being non-NULL).
The same argument applies: If the export were still named, we would
still have a reference.

3. Freeing exp->description. This is really cleanup work to be done when
the export is finally freed. There is no reason to already clear it
while clients are still in the process of shutting down.

So after moving the cleanup of exp->description, the code can be
simplified so that only nbd_export_close() calls nbd_export_put(), but
never the other way around.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200924152717.287415-13-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

d794f7f324-Sep-2020 Kevin Wolf <kwolf@redhat.com>

nbd: Remove NBDExport.close callback

The export close callback is unused by the built-in NBD server. qemu-nbd
uses it only during shutdown to wait for the unrefed export to actually
go away. It can

nbd: Remove NBDExport.close callback

The export close callback is unused by the built-in NBD server. qemu-nbd
uses it only during shutdown to wait for the unrefed export to actually
go away. It can just use nbd_export_close_all() instead and do without
the callback.

This removes the close callback from nbd_export_new() and makes both
callers of it more similar.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200924152717.287415-11-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

12345678910>>...16