History log of /qemu/io/ (Results 101 – 125 of 189)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5304739219-Jul-2016 Daniel P. Berrange <berrange@redhat.com>

io: introduce a network socket listener API

The existing QIOChannelSocket class provides the ability to
listen on a single socket at a time. This patch introduces
a QIONetListener class that provide

io: introduce a network socket listener API

The existing QIOChannelSocket class provides the ability to
listen on a single socket at a time. This patch introduces
a QIONetListener class that provides a higher level API
concept around listening for network services, allowing
for listening on multiple sockets.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...


/qemu/.gitignore
/qemu/.gitmodules
/qemu/.mailmap
/qemu/Changelog
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/Makefile.target
/qemu/README
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/stubs/tcg-stub.c
/qemu/accel/tcg/atomic_template.h
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/softmmu_template.h
/qemu/accel/tcg/tcg-runtime.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/accel/tcg/user-exec.c
/qemu/backends/tpm.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blkdebug.c
/qemu/block/block-backend.c
/qemu/block/bochs.c
/qemu/block/cloop.c
/qemu/block/commit.c
/qemu/block/dmg.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/nbd-client.c
/qemu/block/nbd-client.h
/qemu/block/nfs.c
/qemu/block/parallels.c
/qemu/block/qapi.c
/qemu/block/qcow2-cache.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/rbd.c
/qemu/block/replication.c
/qemu/block/snapshot.c
/qemu/block/stream.c
/qemu/block/throttle-groups.c
/qemu/block/trace-events
/qemu/block/vhdx.c
/qemu/block/vvfat.c
/qemu/blockjob.c
/qemu/bsd-user/main.c
/qemu/capstone
/qemu/chardev/char-socket.c
/qemu/configure
/qemu/cpus.c
/qemu/crypto/cipher.c
/qemu/crypto/hash.c
/qemu/crypto/hmac.c
/qemu/default-configs/arm-softmmu.mak
/qemu/default-configs/i386-softmmu.mak
/qemu/default-configs/or1k-softmmu.mak
/qemu/default-configs/ppc-linux-user.mak
/qemu/default-configs/ppc-softmmu.mak
/qemu/default-configs/ppc64-linux-user.mak
/qemu/default-configs/ppc64-softmmu.mak
/qemu/default-configs/ppc64abi32-linux-user.mak
/qemu/default-configs/ppc64le-linux-user.mak
/qemu/default-configs/ppcemb-softmmu.mak
/qemu/default-configs/x86_64-softmmu.mak
/qemu/disas.c
/qemu/disas/arm.c
/qemu/docs/devel/loads-stores.rst
/qemu/docs/interop/live-block-operations.rst
/qemu/docs/interop/qmp-intro.txt
/qemu/docs/pcie.txt
/qemu/docs/qdev-device-use.txt
/qemu/docs/qemu-block-drivers.texi
/qemu/docs/rdma.txt
/qemu/docs/specs/tpm.txt
/qemu/exec.c
/qemu/hmp-commands.hx
/qemu/hmp.c
/qemu/hmp.h
/qemu/hw/9pfs/9p.c
/qemu/hw/9pfs/9p.h
/qemu/hw/acpi/tco.c
/qemu/hw/acpi/trace-events
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_soc.c
/qemu/hw/arm/exynos4_boards.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx31.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-zcu102.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/xen_disk.c
/qemu/hw/char/serial.c
/qemu/hw/char/spapr_vty.c
/qemu/hw/core/qdev.c
/qemu/hw/cris/axis_dev88.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/sm501.c
/qemu/hw/display/tc6393xb.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/dma/sparc32_dma.c
/qemu/hw/dma/sun4m_iommu.c
/qemu/hw/dma/trace-events
/qemu/hw/i386/Makefile.objs
/qemu/hw/i386/kvm/Makefile.objs
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/ide/Makefile.objs
/qemu/hw/ide/ahci-allwinner.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/core.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/qdev.c
/qemu/hw/input/ps2.c
/qemu/hw/input/trace-events
/qemu/hw/intc/Makefile.objs
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/ioapic.c
/qemu/hw/intc/ompic.c
/qemu/hw/intc/trace-events
/qemu/hw/intc/xics.c
/qemu/hw/intc/xics_kvm.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/milkymist.c
/qemu/hw/m68k/an5206.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mips/boston.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/mips/mips_jazz.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/mips/mips_mipssim.c
/qemu/hw/mips/mips_r4k.c
/qemu/hw/misc/Makefile.objs
/qemu/hw/misc/aspeed_scu.c
/qemu/hw/misc/vmcoreinfo.c
/qemu/hw/moxie/moxiesim.c
/qemu/hw/net/e1000.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/lance.c
/qemu/hw/net/net_rx_pkt.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmware_utils.h
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/vmxnet3.h
/qemu/hw/openrisc/cputimer.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-bridge/Makefile.objs
/qemu/hw/pci-host/apb.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/piix.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/e500plat.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/mpc8544ds.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc405_uc.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/event-facility.c
/qemu/hw/s390x/s390-ccw.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/s390-virtio-hcall.h
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/s390x/virtio-ccw.h
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/scsi/vhost-user-scsi.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sh4/shix.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/niagara.c
/qemu/hw/sparc64/sparc64.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/mss-spi.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/tpm/tpm_emulator.c
/qemu/hw/tpm/tpm_int.h
/qemu/hw/tpm/tpm_passthrough.c
/qemu/hw/tpm/tpm_tis.c
/qemu/hw/tpm/tpm_util.c
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/unicore32/puv3.c
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/pci.h
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/Makefile.objs
/qemu/hw/xen/xen_backend.c
/qemu/hw/xen/xen_pt_load_rom.c
/qemu/hw/xtensa/sim.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/blockjob.h
/qemu/include/block/blockjob_int.h
/qemu/include/block/nbd.h
/qemu/include/block/snapshot.h
/qemu/include/disas/bfd.h
/qemu/include/disas/capstone.h
/qemu/include/disas/disas.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/cpu_ldst_useronly_template.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/gen-icount.h
/qemu/include/exec/helper-gen.h
/qemu/include/exec/helper-head.h
/qemu/include/exec/log.h
/qemu/include/exec/memory-internal.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/tb-context.h
/qemu/include/exec/tb-hash-xx.h
/qemu/include/exec/tb-hash.h
/qemu/include/exec/tb-lookup.h
/qemu/include/hw/arm/xlnx-zynqmp.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/apic-msidef.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/internal.h
/qemu/include/hw/intc/armv7m_nvic.h
/qemu/include/hw/mips/cps.h
/qemu/include/hw/misc/aspeed_scu.h
/qemu/include/hw/net/lance.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/ppc.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_cpu_core.h
/qemu/include/hw/ppc/xics.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/s390x/css.h
/qemu/include/hw/s390x/event-facility.h
/qemu/include/hw/s390x/s390-ccw.h
/qemu/include/hw/s390x/s390-virtio-ccw.h
/qemu/include/hw/scsi/esp.h
/qemu/include/hw/sparc/sparc32_dma.h
/qemu/include/hw/sparc/sparc64.h
/qemu/include/hw/sparc/sun4m.h
/qemu/include/hw/ssi/xilinx_spips.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/hw/xen/xen_backend.h
/qemu/include/io/net-listener.h
/qemu/include/net/checksum.h
/qemu/include/qapi/qmp/qbool.h
/qemu/include/qapi/qmp/qdict.h
/qemu/include/qapi/qmp/qlist.h
/qemu/include/qapi/qmp/qnull.h
/qemu/include/qapi/qmp/qnum.h
/qemu/include/qapi/qmp/qobject.h
/qemu/include/qapi/qmp/qstring.h
/qemu/include/qapi/qmp/types.h
/qemu/include/qemu-common.h
/qemu/include/qemu/coroutine_int.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/thread-posix.h
/qemu/include/qemu/typedefs.h
/qemu/include/qom/cpu.h
/qemu/include/qom/object.h
/qemu/include/standard-headers/asm-s390/virtio-ccw.h
/qemu/include/standard-headers/asm-x86/hyperv.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/input.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/sysemu/tpm.h
/qemu/include/sysemu/tpm_backend.h
/qemu/include/ui/console.h
/qemu/include/ui/egl-helpers.h
/qemu/include/ui/gtk.h
/qemu/include/ui/sdl2.h
/qemu/include/ui/shader.h
/qemu/include/ui/spice-display.h
Makefile.objs
net-listener.c
/qemu/libdecnumber/Makefile.objs
/qemu/linux-headers/asm-arm/kvm.h
/qemu/linux-headers/asm-arm/kvm_para.h
/qemu/linux-headers/asm-arm/unistd.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/unistd.h
/qemu/linux-headers/asm-powerpc/epapr_hcalls.h
/qemu/linux-headers/asm-powerpc/kvm.h
/qemu/linux-headers/asm-powerpc/kvm_para.h
/qemu/linux-headers/asm-powerpc/unistd.h
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/asm-s390/kvm_para.h
/qemu/linux-headers/asm-s390/unistd.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/kvm_para.h
/qemu/linux-headers/asm-x86/unistd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/kvm_para.h
/qemu/linux-headers/linux/psci.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vfio_ccw.h
/qemu/linux-headers/linux/vhost.h
/qemu/linux-user/arm/target_cpu.h
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/syscall_nr.h
/qemu/linux-user/hppa/target_cpu.h
/qemu/linux-user/main.c
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/memory.c
/qemu/migration/block.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/page_cache.c
/qemu/migration/page_cache.h
/qemu/migration/postcopy-ram.c
/qemu/migration/postcopy-ram.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/tls.c
/qemu/monitor.c
/qemu/nbd/client.c
/qemu/nbd/common.c
/qemu/nbd/nbd-internal.h
/qemu/nbd/server.c
/qemu/nbd/trace-events
/qemu/net/colo-compare.c
/qemu/net/colo.c
/qemu/net/colo.h
/qemu/net/socket.c
/qemu/numa.c
/qemu/pc-bios/README
/qemu/pc-bios/bios-256k.bin
/qemu/pc-bios/bios.bin
/qemu/pc-bios/openbios-ppc
/qemu/pc-bios/openbios-sparc32
/qemu/pc-bios/openbios-sparc64
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/sclp.c
/qemu/pc-bios/s390-ccw/virtio-scsi.c
/qemu/pc-bios/s390-netboot.img
/qemu/pc-bios/vgabios-cirrus.bin
/qemu/pc-bios/vgabios-qxl.bin
/qemu/pc-bios/vgabios-stdvga.bin
/qemu/pc-bios/vgabios-virtio.bin
/qemu/pc-bios/vgabios-vmware.bin
/qemu/pc-bios/vgabios.bin
/qemu/qapi-schema.json
/qemu/qapi/block-core.json
/qemu/qapi/migration.json
/qemu/qapi/qapi-clone-visitor.c
/qemu/qapi/string-input-visitor.c
/qemu/qapi/ui.json
/qemu/qdev-monitor.c
/qemu/qemu-doc.texi
/qemu/qemu-img.c
/qemu/qemu-img.texi
/qemu/qemu-io-cmds.c
/qemu/qemu-options.hx
/qemu/qemu.nsi
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/qapi-schema.json
/qemu/qga/vss-win32/install.cpp
/qemu/qga/vss-win32/requester.cpp
/qemu/qobject/qbool.c
/qemu/qobject/qdict.c
/qemu/qobject/qlist.c
/qemu/qobject/qnull.c
/qemu/qobject/qnum.c
/qemu/qobject/qobject.c
/qemu/qobject/qstring.c
/qemu/qom/cpu.c
/qemu/qom/object.c
/qemu/roms/config.seabios-128k
/qemu/roms/openbios
/qemu/roms/seabios
/qemu/scripts/checkpatch.pl
/qemu/scripts/coccinelle/qobject.cocci
/qemu/scripts/device-crash-test
/qemu/scripts/dump-guest-memory.py
/qemu/scripts/get_maintainer.pl
/qemu/scripts/git-submodule.sh
/qemu/scripts/make-release
/qemu/scripts/qmp/qemu-ga-client
/qemu/scripts/update-linux-headers.sh
/qemu/scsi/qemu-pr-helper.c
/qemu/slirp/tcp_subr.c
/qemu/stubs/Makefile.objs
/qemu/stubs/tpm.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/translate.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper-a64.c
/qemu/target/arm/helper-a64.h
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/internals.h
/qemu/target/arm/op_helper.c
/qemu/target/arm/psci.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/arm/translate.h
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/cris/translate.c
/qemu/target/cris/translate_v10.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/helper.h
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.c
/qemu/target/lm32/cpu.h
/qemu/target/lm32/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/helper.h
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/mips-defs.h
/qemu/target/mips/translate.c
/qemu/target/mips/translate_init.c
/qemu/target/moxie/cpu.c
/qemu/target/moxie/cpu.h
/qemu/target/moxie/translate.c
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/nios2/translate.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/openrisc/machine.c
/qemu/target/openrisc/sys_helper.c
/qemu/target/openrisc/translate.c
/qemu/target/ppc/Makefile.objs
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper_regs.h
/qemu/target/ppc/int_helper.c
/qemu/target/ppc/kvm.c
/qemu/target/ppc/machine.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.c
/qemu/target/s390x/Makefile.objs
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/diag.c
/qemu/target/s390x/excp_helper.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/interrupt.c
/qemu/target/s390x/ioinst.c
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/machine.c
/qemu/target/s390x/mem_helper.c
/qemu/target/s390x/misc_helper.c
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/sigp.c
/qemu/target/s390x/trace-events
/qemu/target/s390x/translate.c
/qemu/target/sh4/cpu-qom.h
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/translate.c
/qemu/target/tilegx/cpu.c
/qemu/target/tilegx/translate.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/tricore/translate.c
/qemu/target/unicore32/cpu.c
/qemu/target/unicore32/cpu.h
/qemu/target/unicore32/translate.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/optimize.c
/qemu/tcg/s390/tcg-target.inc.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg-op.h
/qemu/tcg/tcg.c
/qemu/tcg/tcg.h
/qemu/tests/.gitignore
/qemu/tests/Makefile.include
/qemu/tests/acpi-test-data/pc/DSDT
/qemu/tests/acpi-test-data/pc/DSDT.bridge
/qemu/tests/acpi-test-data/pc/DSDT.cphp
/qemu/tests/acpi-test-data/pc/DSDT.ipmikcs
/qemu/tests/acpi-test-data/pc/DSDT.memhp
/qemu/tests/acpi-test-data/q35/DSDT
/qemu/tests/acpi-test-data/q35/DSDT.bridge
/qemu/tests/acpi-test-data/q35/DSDT.cphp
/qemu/tests/acpi-test-data/q35/DSDT.ipmibt
/qemu/tests/acpi-test-data/q35/DSDT.memhp
/qemu/tests/acpi-utils.h
/qemu/tests/bios-tables-test.c
/qemu/tests/boot-order-test.c
/qemu/tests/boot-serial-test.c
/qemu/tests/check-qnull.c
/qemu/tests/check-qobject.c
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/docker.py
/qemu/tests/docker/dockerfiles/debian8-mxe.docker
/qemu/tests/docker/run
/qemu/tests/endianness-test.c
/qemu/tests/ipmi-bt-test.c
/qemu/tests/libqtest.c
/qemu/tests/libqtest.h
/qemu/tests/m25p80-test.c
/qemu/tests/migration-test.c
/qemu/tests/pnv-xscom-test.c
/qemu/tests/prom-env-test.c
/qemu/tests/qemu-iotests/020
/qemu/tests/qemu-iotests/020.out
/qemu/tests/qemu-iotests/030
/qemu/tests/qemu-iotests/040
/qemu/tests/qemu-iotests/055
/qemu/tests/qemu-iotests/058
/qemu/tests/qemu-iotests/060
/qemu/tests/qemu-iotests/060.out
/qemu/tests/qemu-iotests/067
/qemu/tests/qemu-iotests/074.out
/qemu/tests/qemu-iotests/075
/qemu/tests/qemu-iotests/077
/qemu/tests/qemu-iotests/077.out
/qemu/tests/qemu-iotests/078
/qemu/tests/qemu-iotests/083
/qemu/tests/qemu-iotests/083.out
/qemu/tests/qemu-iotests/087
/qemu/tests/qemu-iotests/093
/qemu/tests/qemu-iotests/093.out
/qemu/tests/qemu-iotests/125
/qemu/tests/qemu-iotests/125.out
/qemu/tests/qemu-iotests/127
/qemu/tests/qemu-iotests/127.out
/qemu/tests/qemu-iotests/133
/qemu/tests/qemu-iotests/133.out
/qemu/tests/qemu-iotests/136
/qemu/tests/qemu-iotests/140
/qemu/tests/qemu-iotests/147
/qemu/tests/qemu-iotests/176
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/177
/qemu/tests/qemu-iotests/177.out
/qemu/tests/qemu-iotests/182
/qemu/tests/qemu-iotests/184
/qemu/tests/qemu-iotests/184.out
/qemu/tests/qemu-iotests/191
/qemu/tests/qemu-iotests/191.out
/qemu/tests/qemu-iotests/194
/qemu/tests/qemu-iotests/196
/qemu/tests/qemu-iotests/196.out
/qemu/tests/qemu-iotests/198
/qemu/tests/qemu-iotests/198.out
/qemu/tests/qemu-iotests/200
/qemu/tests/qemu-iotests/200.out
/qemu/tests/qemu-iotests/common.filter
/qemu/tests/qemu-iotests/common.qemu
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qht-bench.c
/qemu/tests/tco-test.c
/qemu/tests/test-aio-multithread.c
/qemu/tests/test-blockjob-txn.c
/qemu/tests/test-crypto-block.c
/qemu/tests/test-filter-mirror.c
/qemu/tests/test-filter-redirector.c
/qemu/tests/virtio-balloon-test.c
/qemu/tests/virtio-blk-test.c
/qemu/tests/virtio-console-test.c
/qemu/tests/virtio-serial-test.c
/qemu/tests/vmgenid-test.c
/qemu/tpm.c
/qemu/ui/cocoa.m
/qemu/ui/console-gl.c
/qemu/ui/console.c
/qemu/ui/egl-headless.c
/qemu/ui/egl-helpers.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk-gl-area.c
/qemu/ui/input-legacy.c
/qemu/ui/input.c
/qemu/ui/keycodemapdb
/qemu/ui/sdl2-gl.c
/qemu/ui/sdl2.c
/qemu/ui/shader.c
/qemu/ui/shader/texture-blit-flip.vert
/qemu/ui/spice-display.c
/qemu/util/aio-posix.c
/qemu/util/async.c
/qemu/util/osdep.c
/qemu/util/oslib-posix.c
/qemu/util/qemu-coroutine-sleep.c
/qemu/util/qemu-coroutine.c
/qemu/util/qemu-sockets.c
/qemu/util/stats64.c
/qemu/version.rc
/qemu/vl.c
52aa564407-Oct-2017 Stefan Weil <sw@weilnetz.de>

io: Add missing GCC_FMT_ATTR (fix -Werror=suggest-attribute=format)

This fixes a compiler warning:

/qemu/io/channel-websock.c:163:5: error:
function might be possible candidate for ‘gnu_printf’ fo

io: Add missing GCC_FMT_ATTR (fix -Werror=suggest-attribute=format)

This fixes a compiler warning:

/qemu/io/channel-websock.c:163:5: error:
function might be possible candidate for ‘gnu_printf’ format attribute
[-Werror=suggest-attribute=format]

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Acked-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tcg-runtime.c
/qemu/accel/tcg/tcg-runtime.h
/qemu/accel/tcg/translate-all.c
/qemu/backends/tpm.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blkdebug.c
/qemu/block/commit.c
/qemu/block/crypto.c
/qemu/block/dirty-bitmap.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/nbd-client.c
/qemu/block/qcow.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/qed.c
/qemu/block/throttle.c
/qemu/configure
/qemu/contrib/libvhost-user/Makefile.objs
/qemu/contrib/libvhost-user/libvhost-user-glib.c
/qemu/contrib/libvhost-user/libvhost-user-glib.h
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/vhost-user-scsi/vhost-user-scsi.c
/qemu/crypto/block-luks.c
/qemu/crypto/block-qcow.c
/qemu/crypto/block.c
/qemu/crypto/blockpriv.h
/qemu/docs/specs/tpm.txt
/qemu/docs/specs/vmcoreinfo.txt
/qemu/dump.c
/qemu/exec.c
/qemu/hmp-commands-info.hx
/qemu/hmp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/audio/ac97.c
/qemu/hw/audio/es1370.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/block/nvme.c
/qemu/hw/block/onenand.c
/qemu/hw/char/serial-pci.c
/qemu/hw/char/terminal3270.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/display/cirrus_vga.c
/qemu/hw/display/qxl.c
/qemu/hw/display/sm501.c
/qemu/hw/display/vga-pci.c
/qemu/hw/display/vmware_vga.c
/qemu/hw/i2c/smbus_ich9.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/kvm/pci-assign.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/xen/xen_platform.c
/qemu/hw/i386/xen/xen_pvdevice.c
/qemu/hw/ide/ich.c
/qemu/hw/ide/pci.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/ipack/tpci200.c
/qemu/hw/isa/i82378.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix4.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/mips/gt64xxx_pci.c
/qemu/hw/misc/Makefile.objs
/qemu/hw/misc/edu.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/pci-testdev.c
/qemu/hw/misc/vmcoreinfo.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/eepro100.c
/qemu/hw/net/ne2000.c
/qemu/hw/net/pcnet-pci.c
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/pci-bridge/dec.c
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/i82801b11.c
/qemu/hw/pci-bridge/ioh3420.c
/qemu/hw/pci-bridge/pci_bridge_dev.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-bridge/xio3130_downstream.c
/qemu/hw/pci-bridge/xio3130_upstream.c
/qemu/hw/pci-host/apb.c
/qemu/hw/pci-host/bonito.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/grackle.c
/qemu/hw/pci-host/piix.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/prep.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/uninorth.c
/qemu/hw/pci-host/versatile.c
/qemu/hw/pci-host/xilinx-pcie.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/pci/pcie_host.c
/qemu/hw/ppc/ppc4xx_pci.c
/qemu/hw/s390x/3270-ccw.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/s390x/sclpcpu.c
/qemu/hw/s390x/sclpquiesce.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/scsi/esp-pci.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/sd.c
/qemu/hw/sd/sdhci.c
/qemu/hw/sh4/sh_pci.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/tpm/Makefile.objs
/qemu/hw/tpm/tpm_emulator.c
/qemu/hw/tpm/tpm_ioctl.h
/qemu/hw/tpm/tpm_passthrough.c
/qemu/hw/tpm/tpm_tis.c
/qemu/hw/tpm/tpm_util.c
/qemu/hw/tpm/tpm_util.h
/qemu/hw/usb/Makefile.objs
/qemu/hw/usb/bus.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio-pci.h
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/hw/watchdog/wdt_i6300esb.c
/qemu/hw/xen/xen_pt.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/dirty-bitmap.h
/qemu/include/block/nbd.h
/qemu/include/crypto/block.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cputlb.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/tb-lookup.h
/qemu/include/glib-compat.h
/qemu/include/hw/arm/arm.h
/qemu/include/hw/boards.h
/qemu/include/hw/misc/vmcoreinfo.h
/qemu/include/hw/nvram/fw_cfg.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/s390x/3270-ccw.h
/qemu/include/hw/s390x/css.h
/qemu/include/qemu/futex.h
/qemu/include/qemu/hbitmap.h
/qemu/include/qemu/osdep.h
/qemu/include/qom/object.h
/qemu/include/sysemu/dump.h
/qemu/include/sysemu/iothread.h
/qemu/include/sysemu/sysemu.h
/qemu/include/sysemu/tpm_backend.h
channel-websock.c
/qemu/iothread.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/migration/block.c
/qemu/monitor.c
/qemu/nbd/client.c
/qemu/nbd/nbd-internal.h
/qemu/nbd/server.c
/qemu/nbd/trace-events
/qemu/os-posix.c
/qemu/qapi/block-core.json
/qemu/qapi/tpm.json
/qemu/qemu-doc.texi
/qemu/qemu-io.c
/qemu/qemu-options.hx
/qemu/qom/cpu.c
/qemu/qom/object.c
/qemu/scripts/checkpatch.pl
/qemu/scripts/dump-guest-memory.py
/qemu/scripts/qemu.py
/qemu/scripts/qmp/qmp.py
/qemu/target/alpha/cpu.c
/qemu/target/alpha/translate.c
/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/machine.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/cris/cpu.c
/qemu/target/hppa/translate.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/mips/translate.c
/qemu/target/moxie/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/s390x/Makefile.objs
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_features.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/crypto_helper.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/insn-data.def
/qemu/target/s390x/internal.h
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/mem_helper.c
/qemu/target/s390x/misc_helper.c
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/unicore32/cpu.c
/qemu/target/xtensa/cpu.c
/qemu/tcg/i386/tcg-target.inc.c
/qemu/tcg/mips/tcg-target.inc.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg-op.h
/qemu/tcg/tcg.c
/qemu/tcg/tcg.h
/qemu/tcg/tci.c
/qemu/tests/.gitignore
/qemu/tests/Makefile.include
/qemu/tests/migration/guestperf/engine.py
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/pxe-test.c
/qemu/tests/qemu-iotests/030
/qemu/tests/qemu-iotests/039.out
/qemu/tests/qemu-iotests/061.out
/qemu/tests/qemu-iotests/137.out
/qemu/tests/qemu-iotests/165
/qemu/tests/qemu-iotests/191
/qemu/tests/qemu-iotests/191.out
/qemu/tests/qemu-iotests/195
/qemu/tests/qemu-iotests/197
/qemu/tests/qemu-iotests/197.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/common.config
/qemu/tests/qemu-iotests/common.filter
/qemu/tests/qemu-iotests/common.qemu
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/nbd-fault-injector.py
/qemu/tests/test-hbitmap.c
/qemu/tests/vhost-user-bridge.c
/qemu/tests/vm/basevm.py
/qemu/tpm.c
/qemu/ui/gtk.c
/qemu/util/Makefile.objs
/qemu/util/aio-posix.c
/qemu/util/hbitmap.c
/qemu/util/pagesize.c
/qemu/util/qemu-config.c
/qemu/vl.c
7fc3fcef11-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: fix mem leak in websock error path

Coverity pointed out the 'date' is not free()d in the error
path

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redha

io: fix mem leak in websock error path

Coverity pointed out the 'date' is not free()d in the error
path

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

0efd6c9e10-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: add trace points for websocket HTTP protocol headers

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

6d5d23b009-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: cope with websock 'Connection' header having multiple values

The noVNC server sends a header "Connection: keep-alive, Upgrade" which
fails our simple equality test. Split the header on ',', trim

io: cope with websock 'Connection' header having multiple values

The noVNC server sends a header "Connection: keep-alive, Upgrade" which
fails our simple equality test. Split the header on ',', trim whitespace
and then check for 'upgrade' token.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

8dfd5f9609-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: get rid of bounce buffering in websock write path

Currently most outbound I/O on the websock channel gets copied into the
rawoutput buffer, and then immediately copied again into the encoutput
b

io: get rid of bounce buffering in websock write path

Currently most outbound I/O on the websock channel gets copied into the
rawoutput buffer, and then immediately copied again into the encoutput
buffer, with a header prepended. Now that qio_channel_websock_encode
accepts a struct iovec, we can trivially remove this bounce buffering
and write directly to encoutput.

In doing so, we also now correctly validate the encoutput size against
the QIO_CHANNEL_WEBSOCK_MAX_BUFFER limit.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

fb74e59009-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: pass a struct iovec into qio_channel_websock_encode

Instead of requiring use of another Buffer, pass a struct iovec
into qio_channel_websock_encode, which gives callers more
flexibility in how t

io: pass a struct iovec into qio_channel_websock_encode

Instead of requiring use of another Buffer, pass a struct iovec
into qio_channel_websock_encode, which gives callers more
flexibility in how they process data.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

bac6c95409-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: get rid of qio_channel_websock_encode helper method

The qio_channel_websock_encode method is only used in one place,
everything else calls qio_channel_websock_encode_buffer directly.
It can also

io: get rid of qio_channel_websock_encode helper method

The qio_channel_websock_encode method is only used in one place,
everything else calls qio_channel_websock_encode_buffer directly.
It can also be pushed up a level into the qio_channel_websock_writev
method, since every other caller of qio_channel_websock_write_wire
has already filled encoutput.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

57b0cdf109-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: simplify websocket ping reply handling

We must ensure we don't get flooded with ping replies if the outbound
channel is slow. Currently we do this by keeping the ping reply in a
separate tempora

io: simplify websocket ping reply handling

We must ensure we don't get flooded with ping replies if the outbound
channel is slow. Currently we do this by keeping the ping reply in a
separate temporary buffer and only writing it if the encoutput buffer
is completely empty. This is overly pessimistic, as it is reasonable
to add a ping reply to the encoutput buffer even if it has previous
data in it, as long as that previous data doesn't include a ping
reply.

To track this better, put the ping reply directly into the encoutput
buffer, and then record the size of encoutput at this time in
pong_remain. As we write encoutput to the underlying channel, we
can decrement the pong_remain counter. Once it hits zero, we can
accept further ping replies for transmission.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

a7b20a8e09-Oct-2017 Daniel P. Berrange <berrange@redhat.com>

io: monitor encoutput buffer size from websocket GSource

The websocket GSource is monitoring the size of the rawoutput
buffer to determine if the channel can accepts more writes.
The rawoutput buffe

io: monitor encoutput buffer size from websocket GSource

The websocket GSource is monitoring the size of the rawoutput
buffer to determine if the channel can accepts more writes.
The rawoutput buffer, however, is merely a temporary staging
buffer before data is copied into the encoutput buffer. Thus
its size will always be zero when the GSource runs.

This flaw causes the encoutput buffer to grow without bound
if the other end of the underlying data channel doesn't
read data being sent. This can be seen with VNC if a client
is on a slow WAN link and the guest OS is sending many screen
updates. A malicious VNC client can act like it is on a slow
link by playing a video in the guest and then reading data
very slowly, causing QEMU host memory to expand arbitrarily.

This issue is assigned CVE-2017-15268, publically reported in

https://bugs.launchpad.net/qemu/+bug/1718964

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/tcg-runtime.c
/qemu/accel/tcg/tcg-runtime.h
/qemu/accel/tcg/translate-all.c
/qemu/backends/tpm.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blkdebug.c
/qemu/block/commit.c
/qemu/block/crypto.c
/qemu/block/dirty-bitmap.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/nbd-client.c
/qemu/block/qcow.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/qed.c
/qemu/block/throttle.c
/qemu/configure
/qemu/contrib/libvhost-user/Makefile.objs
/qemu/contrib/libvhost-user/libvhost-user-glib.c
/qemu/contrib/libvhost-user/libvhost-user-glib.h
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/contrib/vhost-user-scsi/vhost-user-scsi.c
/qemu/crypto/block-luks.c
/qemu/crypto/block-qcow.c
/qemu/crypto/block.c
/qemu/crypto/blockpriv.h
/qemu/docs/specs/tpm.txt
/qemu/exec.c
/qemu/hmp-commands-info.hx
/qemu/hmp.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/block/onenand.c
/qemu/hw/char/terminal3270.c
/qemu/hw/core/machine.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/s390x/3270-ccw.c
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/sclp.c
/qemu/hw/s390x/sclpcpu.c
/qemu/hw/s390x/sclpquiesce.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/sd/sd.c
/qemu/hw/tpm/Makefile.objs
/qemu/hw/tpm/tpm_emulator.c
/qemu/hw/tpm/tpm_ioctl.h
/qemu/hw/tpm/tpm_passthrough.c
/qemu/hw/tpm/tpm_tis.c
/qemu/hw/tpm/tpm_util.c
/qemu/hw/tpm/tpm_util.h
/qemu/hw/usb/Makefile.objs
/qemu/hw/usb/bus.c
/qemu/hw/usb/ccid-card-passthru.c
/qemu/hw/vfio/ccw.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/dirty-bitmap.h
/qemu/include/block/nbd.h
/qemu/include/crypto/block.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cputlb.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/tb-lookup.h
/qemu/include/glib-compat.h
/qemu/include/hw/arm/arm.h
/qemu/include/hw/boards.h
/qemu/include/hw/s390x/3270-ccw.h
/qemu/include/hw/s390x/css.h
/qemu/include/qemu/hbitmap.h
/qemu/include/qemu/osdep.h
/qemu/include/qom/object.h
/qemu/include/sysemu/iothread.h
/qemu/include/sysemu/sysemu.h
/qemu/include/sysemu/tpm_backend.h
channel-websock.c
/qemu/iothread.c
/qemu/migration/block.c
/qemu/monitor.c
/qemu/nbd/client.c
/qemu/nbd/nbd-internal.h
/qemu/nbd/server.c
/qemu/nbd/trace-events
/qemu/qapi/block-core.json
/qemu/qapi/tpm.json
/qemu/qemu-doc.texi
/qemu/qemu-io.c
/qemu/qemu-options.hx
/qemu/qom/cpu.c
/qemu/qom/object.c
/qemu/scripts/checkpatch.pl
/qemu/scripts/qemu.py
/qemu/scripts/qmp/qmp.py
/qemu/target/alpha/cpu.c
/qemu/target/alpha/translate.c
/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/machine.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/cris/cpu.c
/qemu/target/hppa/translate.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/mips/translate.c
/qemu/target/moxie/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/s390x/Makefile.objs
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_features.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/crypto_helper.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/insn-data.def
/qemu/target/s390x/internal.h
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/mem_helper.c
/qemu/target/s390x/misc_helper.c
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/unicore32/cpu.c
/qemu/target/xtensa/cpu.c
/qemu/tcg/i386/tcg-target.inc.c
/qemu/tcg/mips/tcg-target.inc.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg-op.h
/qemu/tcg/tcg.c
/qemu/tcg/tcg.h
/qemu/tcg/tci.c
/qemu/tests/Makefile.include
/qemu/tests/migration/guestperf/engine.py
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/qemu-iotests/030
/qemu/tests/qemu-iotests/039.out
/qemu/tests/qemu-iotests/061.out
/qemu/tests/qemu-iotests/137.out
/qemu/tests/qemu-iotests/165
/qemu/tests/qemu-iotests/191
/qemu/tests/qemu-iotests/191.out
/qemu/tests/qemu-iotests/195
/qemu/tests/qemu-iotests/197
/qemu/tests/qemu-iotests/197.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/common.config
/qemu/tests/qemu-iotests/common.filter
/qemu/tests/qemu-iotests/common.qemu
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/nbd-fault-injector.py
/qemu/tests/test-hbitmap.c
/qemu/tests/vhost-user-bridge.c
/qemu/tests/vm/basevm.py
/qemu/tpm.c
/qemu/util/Makefile.objs
/qemu/util/aio-posix.c
/qemu/util/hbitmap.c
/qemu/util/pagesize.c
/qemu/util/qemu-config.c
/qemu/util/qemu-sockets.c
/qemu/vl.c
59f183bb21-Sep-2017 Daniel P. Berrange <berrange@redhat.com>

io: add trace events for websockets frame handling

It is useful to trace websockets frame encoding/decoding when debugging
problems.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by

io: add trace events for websockets frame handling

It is useful to trace websockets frame encoding/decoding when debugging
problems.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

530ca60c12-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Attempt to send websocket close messages to client

Make a best effort attempt to close websocket connections according to
the RFC. Sends the close message, as room permits in the socket buffer,

io: Attempt to send websocket close messages to client

Make a best effort attempt to close websocket connections according to
the RFC. Sends the close message, as room permits in the socket buffer,
and immediately closes the socket.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

268a53f512-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Reply to ping frames

Add an immediate ping reply (pong) to the outgoing stream when a ping
is received. Unsolicited pongs are ignored.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypher

io: Reply to ping frames

Add an immediate ping reply (pong) to the outgoing stream when a ping
is received. Unsolicited pongs are ignored.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

01af17fc12-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Ignore websocket PING and PONG frames

Keep pings and gratuitous pongs generated by web browsers from killing
websocket connections.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpat

io: Ignore websocket PING and PONG frames

Keep pings and gratuitous pongs generated by web browsers from killing
websocket connections.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

3a29640e12-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Allow empty websocket payload

Some browsers send pings/pongs with no payload, so allow empty payloads
instead of closing the connection.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cyph

io: Allow empty websocket payload

Some browsers send pings/pongs with no payload, so allow empty payloads
instead of closing the connection.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

ff1300e612-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Add support for fragmented websocket binary frames

Allows fragmented binary frames by saving the previous opcode. Handles
the case where an intermediary (i.e., web proxy) fragments frames
origin

io: Add support for fragmented websocket binary frames

Allows fragmented binary frames by saving the previous opcode. Handles
the case where an intermediary (i.e., web proxy) fragments frames
originally sent unfragmented by the client.

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

eefa3d8e12-Sep-2017 Brandon Carpenter <brandon.carpenter@cypherpath.com>

io: Small updates in preparation for websocket changes

Gets rid of unnecessary bit shifting and performs proper EOF checking to
avoid a large number of repeated calls to recvmsg() when a client
abru

io: Small updates in preparation for websocket changes

Gets rid of unnecessary bit shifting and performs proper EOF checking to
avoid a large number of repeated calls to recvmsg() when a client
abruptly terminates a connection (bug fix).

Signed-off-by: Brandon Carpenter <brandon.carpenter@cypherpath.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

33badfd106-Sep-2017 Daniel P. Berrange <berrange@redhat.com>

io: use case insensitive check for Connection & Upgrade websock headers

When checking the value of the Connection and Upgrade HTTP headers
the websock RFC (6455) requires the comparison to be case i

io: use case insensitive check for Connection & Upgrade websock headers

When checking the value of the Connection and Upgrade HTTP headers
the websock RFC (6455) requires the comparison to be case insensitive.
The Connection value should be an exact match not a substring.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

3a3f870506-Sep-2017 Daniel P. Berrange <berrange@redhat.com>

io: include full error message in websocket handshake trace

When the websocket handshake fails it is useful to log the real
error message via the trace points for debugging purposes.

Fixes bug: #17

io: include full error message in websocket handshake trace

When the websocket handshake fails it is useful to log the real
error message via the trace points for debugging purposes.

Fixes bug: #1715186

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

f69a8bde06-Sep-2017 Daniel P. Berrange <berrange@redhat.com>

io: send proper HTTP response for websocket errors

When any error occurs while processing the websockets handshake,
QEMU just terminates the connection abruptly. This is in violation
of the HTTP spe

io: send proper HTTP response for websocket errors

When any error occurs while processing the websockets handshake,
QEMU just terminates the connection abruptly. This is in violation
of the HTTP specs and does not help the client understand what they
did wrong. This is particularly bad when the client gives the wrong
path, as a "404 Not Found" would be very helpful.

Refactor the handshake code so that it always sends a response to
the client unless there was an I/O error.

Fixes bug: #1715186

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...


/qemu/.gitignore
/qemu/.gitmodules
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/Makefile.objs
/qemu/Makefile.target
/qemu/accel/kvm/kvm-all.c
/qemu/accel/stubs/Makefile.objs
/qemu/accel/stubs/hax-stub.c
/qemu/accel/stubs/kvm-stub.c
/qemu/accel/tcg/Makefile.objs
/qemu/accel/tcg/atomic_template.h
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/softmmu_template.h
/qemu/accel/tcg/tcg-runtime.c
/qemu/accel/tcg/tcg-runtime.h
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/accel/tcg/user-exec-stub.c
/qemu/accel/tcg/user-exec.c
/qemu/audio/Makefile.objs
/qemu/backends/hostmem-file.c
/qemu/block.c
/qemu/block/Makefile.objs
/qemu/block/blkdebug.c
/qemu/block/block-backend.c
/qemu/block/commit.c
/qemu/block/file-posix.c
/qemu/block/io.c
/qemu/block/iscsi.c
/qemu/block/mirror.c
/qemu/block/nbd-client.c
/qemu/block/qapi.c
/qemu/block/qcow.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cache.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/raw-format.c
/qemu/block/replication.c
/qemu/block/throttle-groups.c
/qemu/block/throttle.c
/qemu/block/vvfat.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/chardev/Makefile.objs
/qemu/chardev/baum.c
/qemu/chardev/char-fd.c
/qemu/chardev/char-fe.c
/qemu/chardev/char-pty.c
/qemu/chardev/char-socket.c
/qemu/chardev/char-udp.c
/qemu/chardev/char.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/contrib/libvhost-user/libvhost-user.h
/qemu/cpus.c
/qemu/default-configs/arm-softmmu.mak
/qemu/default-configs/pci.mak
/qemu/default-configs/ppc-softmmu.mak
/qemu/default-configs/ppc64-softmmu.mak
/qemu/default-configs/ppcemb-softmmu.mak
/qemu/default-configs/s390x-softmmu.mak
/qemu/default-configs/sparc64-softmmu.mak
/qemu/disas.c
/qemu/disas/Makefile.objs
/qemu/disas/i386.c
/qemu/docs/colo-proxy.txt
/qemu/docs/devel/atomics.txt
/qemu/docs/devel/build-system.txt
/qemu/docs/devel/migration.txt
/qemu/docs/interop/pr-helper.rst
/qemu/docs/memory-hotplug.txt
/qemu/docs/pcie.txt
/qemu/docs/pcie_pci_bridge.txt
/qemu/docs/pr-manager.rst
/qemu/docs/qemu-block-drivers.texi
/qemu/dump.c
/qemu/exec.c
/qemu/hmp-commands-info.hx
/qemu/hmp.c
/qemu/hmp.h
/qemu/hw/9pfs/9p.c
/qemu/hw/acpi/bios-linker-loader.c
/qemu/hw/acpi/core.c
/qemu/hw/acpi/pcihp.c
/qemu/hw/acpi/piix4.c
/qemu/hw/acpi/vmgenid.c
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/Makefile.objs
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_soc.c
/qemu/hw/arm/collie.c
/qemu/hw/arm/cubieboard.c
/qemu/hw/arm/digic_boards.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/exynos4_boards.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/imx25_pdk.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/kzm.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/msf2-som.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/netduino2.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/omap1.c
/qemu/hw/arm/omap2.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/pxa2xx.c
/qemu/hw/arm/raspi.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sabrelite.c
/qemu/hw/arm/spitz.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/stm32f205_soc.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/tosa.c
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-zcu102.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/arm/z2.c
/qemu/hw/audio/intel-hda.c
/qemu/hw/audio/wm8750.c
/qemu/hw/block/fdc.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/onenand.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen_disk.c
/qemu/hw/char/serial.c
/qemu/hw/char/virtio-console.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/loader.c
/qemu/hw/core/machine.c
/qemu/hw/display/qxl-render.c
/qemu/hw/display/qxl.c
/qemu/hw/display/trace-events
/qemu/hw/display/vga-helpers.h
/qemu/hw/display/vga.c
/qemu/hw/display/vga_int.h
/qemu/hw/display/virtio-gpu.c
/qemu/hw/display/xenfb.c
/qemu/hw/dma/xilinx_axidma.c
/qemu/hw/gpio/omap_gpio.c
/qemu/hw/i2c/Makefile.objs
/qemu/hw/i2c/core.c
/qemu/hw/i2c/omap_i2c.c
/qemu/hw/i2c/ppc4xx_i2c.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/clock.c
/qemu/hw/i386/multiboot.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/xen/xen-mapcache.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ahci_internal.h
/qemu/hw/ide/atapi.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/core.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/microdrive.c
/qemu/hw/ide/pci.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/qdev.c
/qemu/hw/ide/trace-events
/qemu/hw/ide/via.c
/qemu/hw/input/ps2.c
/qemu/hw/input/tsc210x.c
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/i8259_common.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/intc/openpic.c
/qemu/hw/intc/openpic_kvm.c
/qemu/hw/intc/s390_flic_kvm.c
/qemu/hw/intc/trace-events
/qemu/hw/intc/xics.c
/qemu/hw/isa/pc87312.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/milkymist.c
/qemu/hw/m68k/an5206.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mips/Makefile.objs
/qemu/hw/mips/cps.c
/qemu/hw/mips/mips_fulong2e.c
/qemu/hw/mips/mips_jazz.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/mips/mips_mipssim.c
/qemu/hw/mips/mips_r4k.c
/qemu/hw/misc/Makefile.objs
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/auxbus.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/macio/mac_dbdma.c
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/msf2-sysreg.c
/qemu/hw/misc/trace-events
/qemu/hw/moxie/moxiesim.c
/qemu/hw/net/Makefile.objs
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000_regs.h
/qemu/hw/net/e1000e.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000x_common.h
/qemu/hw/net/rocker/rocker.c
/qemu/hw/net/rocker/rocker_desc.c
/qemu/hw/net/rocker/rocker_fp.c
/qemu/hw/net/rocker/rocker_of_dpa.c
/qemu/hw/net/rocker/rocker_world.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/trace-events
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/net/xilinx_axienet.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/nvram/spapr_nvram.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-bridge/Makefile.objs
/qemu/hw/pci-bridge/gen_pcie_root_port.c
/qemu/hw/pci-bridge/pcie_pci_bridge.c
/qemu/hw/pci-host/gpex.c
/qemu/hw/pci-host/piix.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_bridge.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac.h
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc405.h
/qemu/hw/ppc/ppc405_uc.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/prep.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_hcall.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/ppc/spapr_rtas.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/s390x/Makefile.objs
/qemu/hw/s390x/css.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-bus.h
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-stub.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/s390-virtio-hcall.c
/qemu/hw/s390x/s390-virtio-hcall.h
/qemu/hw/s390x/sclp.c
/qemu/hw/s390x/virtio-ccw.c
/qemu/hw/s390x/virtio-ccw.h
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/megasas.c
/qemu/hw/scsi/mptendian.c
/qemu/hw/scsi/mptsas.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/scsi/spapr_vscsi.c
/qemu/hw/scsi/virtio-scsi-dataplane.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sh4/shix.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sparc64.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/Makefile.objs
/qemu/hw/ssi/mss-spi.c
/qemu/hw/timer/Makefile.objs
/qemu/hw/timer/cadence_ttc.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/i8254_common.c
/qemu/hw/timer/mc146818rtc.c
/qemu/hw/timer/mss-timer.c
/qemu/hw/timer/omap_gptimer.c
/qemu/hw/timer/omap_synctimer.c
/qemu/hw/timer/pl031.c
/qemu/hw/timer/twl92230.c
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/unicore32/puv3.c
/qemu/hw/usb/Makefile.objs
/qemu/hw/usb/dev-smartcard-reader.c
/qemu/hw/usb/dev-uas.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ehci.c
/qemu/hw/usb/hcd-ehci.h
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-xhci.c
/qemu/hw/usb/redirect.c
/qemu/hw/vfio/spapr.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio.c
/qemu/hw/watchdog/watchdog.c
/qemu/hw/watchdog/wdt_diag288.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_msi.c
/qemu/hw/xtensa/sim.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/nbd.h
/qemu/include/block/throttle-groups.h
/qemu/include/chardev/char.h
/qemu/include/elf.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/memory-internal.h
/qemu/include/exec/memory.h
/qemu/include/exec/translator.h
/qemu/include/glib-compat.h
/qemu/include/hw/acpi/bios-linker-loader.h
/qemu/include/hw/acpi/vmgenid.h
/qemu/include/hw/arm/armv7m.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/msf2-soc.h
/qemu/include/hw/arm/stm32f205_soc.h
/qemu/include/hw/arm/xlnx-zynqmp.h
/qemu/include/hw/boards.h
/qemu/include/hw/compat.h
/qemu/include/hw/i2c/ppc4xx_i2c.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/internal.h
/qemu/include/hw/intc/armv7m_nvic.h
/qemu/include/hw/loader.h
/qemu/include/hw/mem/pc-dimm.h
/qemu/include/hw/misc/msf2-sysreg.h
/qemu/include/hw/net/mii.h
/qemu/include/hw/nvram/fw_cfg.h
/qemu/include/hw/pci-host/gpex.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/pci/pci_bridge.h
/qemu/include/hw/pci/pci_bus.h
/qemu/include/hw/pci/pci_ids.h
/qemu/include/hw/pci/pcie_port.h
/qemu/include/hw/ppc/mac_dbdma.h
/qemu/include/hw/ppc/openpic.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/ppc4xx.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_drc.h
/qemu/include/hw/ppc/spapr_ovec.h
/qemu/include/hw/s390x/s390-virtio-ccw.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/ssi/mss-spi.h
/qemu/include/hw/timer/mss-timer.h
/qemu/include/hw/virtio/virtio-input.h
/qemu/include/hw/virtio/virtio-scsi.h
/qemu/include/hw/virtio/virtio-serial.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/migration/register.h
/qemu/include/migration/vmstate.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/bitmap.h
/qemu/include/qemu/host-utils.h
/qemu/include/qemu/iov.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/sockets.h
/qemu/include/qemu/thread-posix.h
/qemu/include/qemu/throttle-options.h
/qemu/include/qemu/throttle.h
/qemu/include/qemu/typedefs.h
/qemu/include/qom/cpu.h
/qemu/include/qom/object_interfaces.h
/qemu/include/scsi/constants.h
/qemu/include/scsi/pr-manager.h
/qemu/include/scsi/utils.h
/qemu/include/standard-headers/asm-x86/hyperv.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/virtio_ring.h
/qemu/include/sysemu/block-backend.h
/qemu/include/sysemu/iothread.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/numa.h
/qemu/include/sysemu/seccomp.h
/qemu/include/sysemu/watchdog.h
/qemu/include/ui/console.h
/qemu/include/ui/egl-helpers.h
channel-websock.c
/qemu/iothread.c
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-user/main.c
/qemu/memory.c
/qemu/migration/Makefile.objs
/qemu/migration/block.c
/qemu/migration/block.h
/qemu/migration/channel.c
/qemu/migration/colo-comm.c
/qemu/migration/exec.c
/qemu/migration/fd.c
/qemu/migration/global_state.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/page_cache.c
/qemu/migration/page_cache.h
/qemu/migration/postcopy-ram.c
/qemu/migration/postcopy-ram.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/socket.c
/qemu/migration/trace-events
/qemu/migration/vmstate-types.c
/qemu/migration/vmstate.c
/qemu/monitor.c
/qemu/nbd/common.c
/qemu/nbd/nbd-internal.h
/qemu/net/Makefile.objs
/qemu/net/colo-compare.c
/qemu/net/filter-rewriter.c
/qemu/net/hub.c
/qemu/net/net.c
/qemu/net/slirp.c
/qemu/net/socket.c
/qemu/numa.c
/qemu/pc-bios/openbios-ppc
/qemu/pc-bios/openbios-sparc32
/qemu/pc-bios/openbios-sparc64
/qemu/pc-bios/s390-ccw/netboot.mak
/qemu/qapi-schema.json
/qemu/qapi/block-core.json
/qemu/qapi/migration.json
/qemu/qapi/run-state.json
/qemu/qemu-doc.texi
/qemu/qemu-img-cmds.hx
/qemu/qemu-img.c
/qemu/qemu-img.texi
/qemu/qemu-io-cmds.c
/qemu/qemu-options.hx
/qemu/qemu-seccomp.c
/qemu/qga/vss-win32.c
/qemu/qmp.c
/qemu/qom/cpu.c
/qemu/qom/object_interfaces.c
/qemu/qtest.c
/qemu/replay/replay-snapshot.c
/qemu/roms/openbios
/qemu/scripts/archive-source.sh
/qemu/scripts/checkpatch.pl
/qemu/scripts/create_config
/qemu/scripts/device-crash-test
/qemu/scripts/qemu.py
/qemu/scripts/qmp/qmp-shell
/qemu/scripts/qmp/qmp.py
/qemu/scripts/qtest.py
/qemu/scripts/update-linux-headers.sh
/qemu/scsi/Makefile.objs
/qemu/scsi/pr-helper.h
/qemu/scsi/pr-manager-helper.c
/qemu/scsi/pr-manager.c
/qemu/scsi/qemu-pr-helper.c
/qemu/scsi/trace-events
/qemu/scsi/utils.c
/qemu/slirp/if.c
/qemu/slirp/slirp.c
/qemu/slirp/slirp.h
/qemu/stubs/Makefile.objs
/qemu/stubs/pci-host-piix.c
/qemu/stubs/qmp_pc_dimm.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/helper.c
/qemu/target/alpha/mem_helper.c
/qemu/target/alpha/translate.c
/qemu/target/arm/arch_dump.c
/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/machine.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/arm/translate.h
/qemu/target/cris/translate.c
/qemu/target/hppa/translate.c
/qemu/target/i386/arch_dump.c
/qemu/target/i386/arch_memory_mapping.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/hax-mem.c
/qemu/target/i386/hyperv-proto.h
/qemu/target/i386/hyperv.c
/qemu/target/i386/kvm.c
/qemu/target/i386/machine.c
/qemu/target/i386/monitor.c
/qemu/target/i386/ops_sse.h
/qemu/target/i386/svm_helper.c
/qemu/target/i386/translate.c
/qemu/target/lm32/translate.c
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/translate.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/Makefile.objs
/qemu/target/mips/cp0_timer.c
/qemu/target/mips/cpu-qom.h
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/dsp_helper.c
/qemu/target/mips/gdbstub.c
/qemu/target/mips/helper.c
/qemu/target/mips/internal.h
/qemu/target/mips/kvm.c
/qemu/target/mips/machine.c
/qemu/target/mips/msa_helper.c
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/mips/translate_init.c
/qemu/target/nios2/translate.c
/qemu/target/openrisc/translate.c
/qemu/target/ppc/arch_dump.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/machine.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/translate_init.c
/qemu/target/s390x/arch_dump.c
/qemu/target/s390x/cpu-qom.h
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/cpu_models.h
/qemu/target/s390x/diag.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/gen-features.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/internal.h
/qemu/target/s390x/kvm.c
/qemu/target/s390x/machine.c
/qemu/target/s390x/misc_helper.c
/qemu/target/s390x/translate.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/machine.c
/qemu/target/unicore32/helper.c
/qemu/target/unicore32/translate.c
/qemu/target/xtensa/op_helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/aarch64/tcg-target.inc.c
/qemu/tcg/arm/tcg-target.h
/qemu/tcg/arm/tcg-target.inc.c
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/i386/tcg-target.inc.c
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/mips/tcg-target.inc.c
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/ppc/tcg-target.inc.c
/qemu/tcg/s390/tcg-target.h
/qemu/tcg/s390/tcg-target.inc.c
/qemu/tcg/sparc/tcg-target.h
/qemu/tcg/sparc/tcg-target.inc.c
/qemu/tcg/tcg-ldst.inc.c
/qemu/tcg/tcg-op.c
/qemu/tcg/tcg-pool.inc.c
/qemu/tcg/tcg.c
/qemu/tcg/tcg.h
/qemu/tcg/tci/tcg-target.h
/qemu/tcg/tci/tcg-target.inc.c
/qemu/tests/.gitignore
/qemu/tests/Makefile.include
/qemu/tests/boot-sector.c
/qemu/tests/docker/Makefile.include
/qemu/tests/docker/common.rc
/qemu/tests/docker/docker.py
/qemu/tests/docker/dockerfiles/centos6.docker
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/docker/dockerfiles/debian-ports.docker
/qemu/tests/docker/dockerfiles/debian8.docker
/qemu/tests/docker/dockerfiles/debian9.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/min-glib.docker
/qemu/tests/docker/dockerfiles/travis.docker
/qemu/tests/docker/dockerfiles/ubuntu.docker
/qemu/tests/docker/run
/qemu/tests/docker/test-block
/qemu/tests/docker/test-build
/qemu/tests/docker/test-clang
/qemu/tests/docker/test-full
/qemu/tests/docker/test-mingw
/qemu/tests/docker/test-quick
/qemu/tests/drive_del-test.c
/qemu/tests/keys/README
/qemu/tests/keys/id_rsa
/qemu/tests/keys/id_rsa.pub
/qemu/tests/libqos/pci.c
/qemu/tests/libqos/usb.c
/qemu/tests/libqos/virtio.c
/qemu/tests/libqos/virtio.h
/qemu/tests/libqtest.c
/qemu/tests/libqtest.h
/qemu/tests/numa-test.c
/qemu/tests/ptimer-test-stubs.c
/qemu/tests/qemu-iotests/040
/qemu/tests/qemu-iotests/051
/qemu/tests/qemu-iotests/051.out
/qemu/tests/qemu-iotests/051.pc.out
/qemu/tests/qemu-iotests/067
/qemu/tests/qemu-iotests/067.out
/qemu/tests/qemu-iotests/068
/qemu/tests/qemu-iotests/068.out
/qemu/tests/qemu-iotests/083.out
/qemu/tests/qemu-iotests/102
/qemu/tests/qemu-iotests/106
/qemu/tests/qemu-iotests/139
/qemu/tests/qemu-iotests/163
/qemu/tests/qemu-iotests/163.out
/qemu/tests/qemu-iotests/172
/qemu/tests/qemu-iotests/172.out
/qemu/tests/qemu-iotests/181
/qemu/tests/qemu-iotests/181.out
/qemu/tests/qemu-iotests/182
/qemu/tests/qemu-iotests/184
/qemu/tests/qemu-iotests/184.out
/qemu/tests/qemu-iotests/186
/qemu/tests/qemu-iotests/187.out
/qemu/tests/qemu-iotests/195
/qemu/tests/qemu-iotests/195.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/group
/qemu/tests/test-hmp.c
/qemu/tests/test-iov.c
/qemu/tests/test-qga.c
/qemu/tests/test-throttle.c
/qemu/tests/test-vmstate.c
/qemu/tests/usb-hcd-uhci-test.c
/qemu/tests/usb-hcd-xhci-test.c
/qemu/tests/vhost-user-bridge.c
/qemu/tests/vhost-user-test.c
/qemu/tests/virtio-scsi-test.c
/qemu/tests/virtio-serial-test.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/README
/qemu/tests/vm/basevm.py
/qemu/tests/vm/freebsd
/qemu/tests/vm/netbsd
/qemu/tests/vm/openbsd
/qemu/tests/vm/ubuntu.i386
/qemu/tests/vmgenid-test.c
/qemu/trace-events
/qemu/trace/control-target.c
/qemu/trace/control.c
/qemu/trace/simple.c
/qemu/ui/Makefile.objs
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/egl-headless.c
/qemu/ui/egl-helpers.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk-gl-area.c
/qemu/ui/keymaps.c
/qemu/ui/qemu-pixman.c
/qemu/ui/sdl2-gl.c
/qemu/ui/spice-display.c
/qemu/ui/trace-events
/qemu/ui/vnc-auth-sasl.c
/qemu/ui/vnc-auth-vencrypt.c
/qemu/ui/vnc-ws.c
/qemu/ui/vnc.c
/qemu/util/bitmap.c
/qemu/util/bitops.c
/qemu/util/cacheinfo.c
/qemu/util/cutils.c
/qemu/util/main-loop.c
/qemu/util/qemu-thread-posix.c
/qemu/util/throttle.c
/qemu/vl.c
e8ffaa3105-Sep-2017 Eric Blake <eblake@redhat.com>

io: Add new qio_channel_read{, v}_all_eof functions

Some callers want to distinguish between clean EOF (no bytes read)
vs. a short read (at least one byte read, but EOF encountered
before reaching t

io: Add new qio_channel_read{, v}_all_eof functions

Some callers want to distinguish between clean EOF (no bytes read)
vs. a short read (at least one byte read, but EOF encountered
before reaching the desired length), as it allows clients the
ability to do a graceful shutdown when a server shuts down at
defined safe points in the protocol, rather than treating all
shutdown scenarios as an error due to EOF. However, we don't want
to require all callers to have to check for early EOF. So add
another wrapper function that can be used by the callers that care
about the distinction.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170905191114.5959-3-eblake@redhat.com>
Acked-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

9ffb827005-Sep-2017 Eric Blake <eblake@redhat.com>

io: Yield rather than wait when already in coroutine

The new qio_channel_{read,write}{,v}_all functions are documented
as yielding until data is available. When used on a blocking
channel, this yie

io: Yield rather than wait when already in coroutine

The new qio_channel_{read,write}{,v}_all functions are documented
as yielding until data is available. When used on a blocking
channel, this yield is done via qio_channel_wait() which spawns
a nested event loop under the hood (so it is that secondary loop
which yields as needed); but if we are already in a coroutine (at
which point QIO_CHANNEL_ERR_BLOCK is only possible if we are a
non-blocking channel), we want to yield the current coroutine
instead of spawning a nested event loop.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170905191114.5959-2-eblake@redhat.com>
Acked-by: Daniel P. Berrange <berrange@redhat.com>
[commit message updated]
Signed-off-by: Eric Blake <eblake@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/Makefile
/qemu/accel/tcg/cputlb.c
/qemu/backends/hostmem.c
/qemu/block.c
/qemu/block/backup.c
/qemu/block/blkdebug.c
/qemu/block/file-posix.c
/qemu/block/file-win32.c
/qemu/block/gluster.c
/qemu/block/iscsi.c
/qemu/block/nfs.c
/qemu/block/parallels.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/quorum.c
/qemu/block/rbd.c
/qemu/block/sheepdog.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/chardev/char.c
/qemu/crypto/block-luks.c
/qemu/crypto/block.c
/qemu/crypto/cipher-afalg.c
/qemu/crypto/cipher-builtin.c
/qemu/crypto/cipher-gcrypt.c
/qemu/crypto/cipher-nettle.c
/qemu/crypto/hmac-gcrypt.c
/qemu/crypto/hmac-glib.c
/qemu/crypto/hmac-nettle.c
/qemu/crypto/pbkdf-gcrypt.c
/qemu/crypto/pbkdf-nettle.c
/qemu/crypto/secret.c
/qemu/crypto/tlscreds.c
/qemu/docs/devel/qapi-code-gen.txt
/qemu/fsdev/virtfs-proxy-helper.c
/qemu/hmp.c
/qemu/hw/9pfs/9p-local.c
/qemu/hw/9pfs/9p.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed_soc.c
/qemu/hw/arm/digic.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/block/fdc.c
/qemu/hw/char/escc.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/pci-host/apb.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/watchdog/wdt_aspeed.c
/qemu/include/block/block_int.h
/qemu/include/exec/memattrs.h
/qemu/include/exec/memory.h
/qemu/include/hw/arm/armv7m.h
/qemu/include/hw/elf_ops.h
/qemu/include/hw/intc/armv7m_nvic.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/watchdog/wdt_aspeed.h
/qemu/include/qapi/qmp/qdict.h
/qemu/include/qapi/qmp/qlit.h
/qemu/include/qapi/qmp/qnum.h
/qemu/include/qapi/util.h
/qemu/include/qapi/visitor.h
/qemu/include/qom/cpu.h
/qemu/include/qom/object.h
/qemu/include/sysemu/tpm_backend.h
channel.c
/qemu/linux-headers/asm-x86/kvm.h
/qemu/migration/colo-failover.c
/qemu/migration/colo.c
/qemu/migration/global_state.c
/qemu/migration/migration.c
/qemu/monitor.c
/qemu/net/filter.c
/qemu/net/net.c
/qemu/qapi-schema.json
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/common.json
/qemu/qapi/crypto.json
/qemu/qapi/introspect.json
/qemu/qapi/migration.json
/qemu/qapi/net.json
/qemu/qapi/qapi-util.c
/qemu/qapi/qapi-visit-core.c
/qemu/qapi/qmp-dispatch.c
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/tpm.json
/qemu/qapi/trace.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qemu-img.c
/qemu/qemu-nbd.c
/qemu/qobject/Makefile.objs
/qemu/qobject/qlit.c
/qemu/qom/object.c
/qemu/scripts/coccinelle/qobject.cocci
/qemu/scripts/qapi-event.py
/qemu/scripts/qapi-types.py
/qemu/scripts/qapi-visit.py
/qemu/scripts/qapi.py
/qemu/scripts/qemu.py
/qemu/softmmu_template.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm32.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/machine.c
/qemu/target/arm/op_helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/arm/translate.c
/qemu/target/i386/cpu.c
/qemu/tests/Makefile.include
/qemu/tests/benchmark-crypto-cipher.c
/qemu/tests/benchmark-crypto-hash.c
/qemu/tests/benchmark-crypto-hmac.c
/qemu/tests/check-qjson.c
/qemu/tests/check-qlit.c
/qemu/tests/check-qom-proplist.c
/qemu/tests/crypto-tls-x509-helpers.c
/qemu/tests/qapi-schema/alternate-conflict-bool-string.err
/qemu/tests/qapi-schema/alternate-conflict-bool-string.exit
/qemu/tests/qapi-schema/alternate-conflict-bool-string.json
/qemu/tests/qapi-schema/alternate-conflict-bool-string.out
/qemu/tests/qapi-schema/alternate-conflict-num-string.err
/qemu/tests/qapi-schema/alternate-conflict-num-string.exit
/qemu/tests/qapi-schema/alternate-conflict-num-string.json
/qemu/tests/qapi-schema/alternate-conflict-num-string.out
/qemu/tests/qemu-iotests/192
/qemu/tests/qemu-iotests/194
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qmp-test.c
/qemu/tests/test-io-channel-tls.c
/qemu/tests/test-qapi-util.c
/qemu/tests/test-qobject-input-visitor.c
/qemu/tests/test-qobject-output-visitor.c
/qemu/tests/test-string-input-visitor.c
/qemu/tests/test-string-output-visitor.c
/qemu/tpm.c
/qemu/ui/input-legacy.c
/qemu/ui/input.c
/qemu/ui/vnc.c
/qemu/util/keyval.c
/qemu/vl.c
d4622e5530-Aug-2017 Daniel P. Berrange <berrange@redhat.com>

io: add new qio_channel_{readv, writev, read, write}_all functions

These functions wait until they are able to read / write the full
requested data buffer(s).

Reviewed-by: Eric Blake <eblake@redhat

io: add new qio_channel_{readv, writev, read, write}_all functions

These functions wait until they are able to read / write the full
requested data buffer(s).

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...

b258793216-Jun-2017 Cao jin <caoj.fnst@cn.fujitsu.com>

util: remove the obsolete non-blocking connect

The non-blocking connect mechanism is obsolete, and it doesn't
work well in inet connection, because it will call getaddrinfo
first and getaddrinfo wil

util: remove the obsolete non-blocking connect

The non-blocking connect mechanism is obsolete, and it doesn't
work well in inet connection, because it will call getaddrinfo
first and getaddrinfo will blocks on DNS lookups. Since commit
e65c67e4 & d984464e, the non-blocking connect of migration goes
through QIOChannel in a different manner(using a thread), and
nobody use this old non-blocking connect anymore.

Any newly written code which needs a non-blocking connect should
use the QIOChannel code, so we can drop NonBlockingConnectHandler
as a concept entirely.

Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

show more ...


/qemu/COPYING.PYTHON
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/backends/cryptodev.c
/qemu/backends/hostmem.c
/qemu/block.c
/qemu/block/block-backend.c
/qemu/block/dmg.c
/qemu/block/file-posix.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/nbd-client.c
/qemu/block/nbd-client.h
/qemu/block/nfs.c
/qemu/block/null.c
/qemu/block/parallels.c
/qemu/block/qcow.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2.c
/qemu/block/quorum.c
/qemu/block/sheepdog.c
/qemu/block/ssh.c
/qemu/block/trace-events
/qemu/block/vhdx-log.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/block/vvfat.c
/qemu/bsd-user/main.c
/qemu/configure
/qemu/contrib/libvhost-user/libvhost-user.c
/qemu/default-configs/pci.mak
/qemu/default-configs/s390x-softmmu.mak
/qemu/dump.c
/qemu/fsdev/Makefile.objs
/qemu/hmp-commands-info.hx
/qemu/hw/9pfs/9p-local.c
/qemu/hw/9pfs/9p-util.h
/qemu/hw/9pfs/Makefile.objs
/qemu/hw/Makefile.objs
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/omap1.c
/qemu/hw/arm/omap2.c
/qemu/hw/arm/pxa2xx.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/virt.c
/qemu/hw/audio/pcspk.c
/qemu/hw/block/nvme.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/cpu/core.c
/qemu/hw/cris/axis_dev88.c
/qemu/hw/display/qxl.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/multiboot.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/ide/core.c
/qemu/hw/intc/s390_flic_kvm.c
/qemu/hw/lm32/lm32_boards.c
/qemu/hw/lm32/milkymist.c
/qemu/hw/m68k/an5206.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/nvdimm.c
/qemu/hw/mem/pc-dimm.c
/qemu/hw/mips/addr.c
/qemu/hw/mips/mips_malta.c
/qemu/hw/misc/mmio_interface.c
/qemu/hw/moxie/moxiesim.c
/qemu/hw/net/eepro100.c
/qemu/hw/nios2/10m50_devboard.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-host/piix.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci/msix.c
/qemu/hw/pci/pci-stub.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc4xx_devs.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_drc.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_iommu.c
/qemu/hw/ppc/spapr_rtc.c
/qemu/hw/ppc/virtex_ml507.c
/qemu/hw/s390x/Makefile.objs
/qemu/hw/s390x/css.c
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/s390-pci-bus.c
/qemu/hw/s390x/s390-pci-bus.h
/qemu/hw/s390x/s390-pci-inst.c
/qemu/hw/s390x/s390-pci-stub.c
/qemu/hw/s390x/s390-skeys-kvm.c
/qemu/hw/s390x/s390-skeys.c
/qemu/hw/s390x/s390-stattrib-kvm.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/s390-virtio.c
/qemu/hw/s390x/s390-virtio.h
/qemu/hw/s390x/sclp.c
/qemu/hw/s390x/sclpcpu.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sh4/shix.c
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sparc64.c
/qemu/hw/ssi/xilinx_spips.c
/qemu/hw/timer/i8254_common.c
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/unicore32/puv3.c
/qemu/hw/usb/dev-hub.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/watchdog/wdt_diag288.c
/qemu/hw/xtensa/sim.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/block/block.h
/qemu/include/block/block_int.h
/qemu/include/block/nbd.h
/qemu/include/hw/compat.h
/qemu/include/hw/mem/pc-dimm.h
/qemu/include/hw/mips/cpudevs.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/s390x/css.h
/qemu/include/hw/s390x/ioinst.h
/qemu/include/hw/s390x/sclp.h
/qemu/include/qemu-common.h
/qemu/include/qemu/osdep.h
/qemu/include/qemu/rcu.h
/qemu/include/qemu/sockets.h
/qemu/include/qemu/throttle.h
/qemu/include/qom/cpu.h
/qemu/include/qom/object_interfaces.h
/qemu/include/sysemu/block-backend.h
/qemu/include/sysemu/kvm.h
/qemu/include/ui/console.h
channel-socket.c
/qemu/libdecnumber/decNumber.c
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-user/main.c
/qemu/linux-user/sparc/target_syscall.h
/qemu/linux-user/syscall.c
/qemu/monitor.c
/qemu/nbd/client.c
/qemu/nbd/common.c
/qemu/nbd/nbd-internal.h
/qemu/nbd/server.c
/qemu/net/slirp.c
/qemu/net/socket.c
/qemu/os-posix.c
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/Makefile
/qemu/pc-bios/s390-ccw/cio.h
/qemu/qemu-doc.texi
/qemu/qemu-img-cmds.hx
/qemu/qemu-img.c
/qemu/qemu-io-cmds.c
/qemu/qemu-io.c
/qemu/qemu-nbd.c
/qemu/qga/main.c
/qemu/qom/cpu.c
/qemu/qom/object_interfaces.c
/qemu/scripts/argparse.py
/qemu/scripts/simpletrace.py
/qemu/scripts/tracetool/format/simpletrace_stap.py
/qemu/slirp/bootp.c
/qemu/slirp/socket.c
/qemu/stubs/Makefile.objs
/qemu/stubs/change-state-handler.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/translate-a64.c
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/i386/arch_dump.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/monitor.c
/qemu/target/i386/translate.c
/qemu/target/lm32/cpu.h
/qemu/target/lm32/helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/translate.c
/qemu/target/mips/helper.c
/qemu/target/mips/op_helper.c
/qemu/target/mips/translate.c
/qemu/target/moxie/cpu.c
/qemu/target/moxie/cpu.h
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/ppc/compat.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/machine.c
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate_init.c
/qemu/target/s390x/Makefile.objs
/qemu/target/s390x/arch_dump.c
/qemu/target/s390x/cc_helper.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/diag.c
/qemu/target/s390x/excp_helper.c
/qemu/target/s390x/fpu_helper.c
/qemu/target/s390x/gdbstub.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/int_helper.c
/qemu/target/s390x/internal.h
/qemu/target/s390x/interrupt.c
/qemu/target/s390x/ioinst.c
/qemu/target/s390x/kvm-stub.c
/qemu/target/s390x/kvm.c
/qemu/target/s390x/kvm_s390x.h
/qemu/target/s390x/machine.c
/qemu/target/s390x/mem_helper.c
/qemu/target/s390x/misc_helper.c
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sparc/cpu-qom.h
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/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/translate.c
/qemu/target/sparc/win_helper.c
/qemu/target/tilegx/cpu.c
/qemu/target/tilegx/cpu.h
/qemu/target/tricore/cpu.h
/qemu/target/tricore/helper.c
/qemu/target/unicore32/cpu.h
/qemu/target/unicore32/helper.c
/qemu/target/unicore32/softmmu.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/helper.c
/qemu/tcg/arm/tcg-target.inc.c
/qemu/tcg/tcg.h
/qemu/tests/Makefile.include
/qemu/tests/acpi-test-data/q35/DSDT
/qemu/tests/acpi-test-data/q35/DSDT.bridge
/qemu/tests/acpi-test-data/q35/DSDT.cphp
/qemu/tests/acpi-test-data/q35/DSDT.ipmibt
/qemu/tests/acpi-test-data/q35/DSDT.memhp
/qemu/tests/boot-sector.c
/qemu/tests/boot-serial-test.c
/qemu/tests/docker/docker.py
/qemu/tests/docker/dockerfiles/centos6.docker
/qemu/tests/docker/dockerfiles/centos7.docker
/qemu/tests/ide-test.c
/qemu/tests/libqtest.c
/qemu/tests/libqtest.h
/qemu/tests/migration/guestperf/shell.py
/qemu/tests/multiboot/run_test.sh
/qemu/tests/pxe-test.c
/qemu/tests/qemu-iotests/083
/qemu/tests/qemu-iotests/083.out
/qemu/tests/qemu-iotests/093
/qemu/tests/qemu-iotests/109
/qemu/tests/qemu-iotests/109.out
/qemu/tests/qemu-iotests/136
/qemu/tests/qemu-iotests/185
/qemu/tests/qemu-iotests/187
/qemu/tests/qemu-iotests/187.out
/qemu/tests/qemu-iotests/192
/qemu/tests/qemu-iotests/192.out
/qemu/tests/qemu-iotests/194
/qemu/tests/qemu-iotests/194.out
/qemu/tests/qemu-iotests/check
/qemu/tests/qemu-iotests/common.filter
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/nbd-fault-injector.py
/qemu/tests/test-filter-mirror.c
/qemu/tests/test-filter-redirector.c
/qemu/tests/test-hmp.c
/qemu/tests/test-io-channel-tls.c
/qemu/tests/test-iov.c
/qemu/tests/test-netfilter.c
/qemu/tests/test-throttle.c
/qemu/ui/cursor.c
/qemu/ui/vnc-enc-tight.c
/qemu/ui/vnc.c
/qemu/util/osdep.c
/qemu/util/oslib-posix.c
/qemu/util/qemu-sockets.c
/qemu/util/rcu.c
/qemu/util/throttle.c
/qemu/vl.c
8bd9c4e602-Aug-2017 Peter Xu <peterx@redhat.com>

io: fix qio_channel_socket_accept err handling

When accept failed, we should setup errp with the reason. More
importantly, the caller may assume errp be non-NULL when error happens,
and not setting

io: fix qio_channel_socket_accept err handling

When accept failed, we should setup errp with the reason. More
importantly, the caller may assume errp be non-NULL when error happens,
and not setting the errp may crash QEMU.

At the same time, move the trace_qio_channel_socket_accept_fail() after
the if check on EINTR. Two reasons:

1. when EINTR happened, it's not really a fault (we should just try
again), so we should not log with an "accept failure".

2. trace_*() functions may overwrite errno, then the old errno will be
missing. We need to either check errno before trace_*() calls, or
reserve the errno.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <1501666880-10159-3-git-send-email-peterx@redhat.com>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

show more ...


/qemu/CODING_STYLE
/qemu/Makefile.target
/qemu/accel/accel.c
/qemu/accel/tcg/trace-events
/qemu/audio/trace-events
/qemu/block.c
/qemu/block/qapi.c
/qemu/block/trace-events
/qemu/chardev/char-fd.c
/qemu/chardev/char.c
/qemu/docs/devel/tracing.txt
/qemu/docs/interop/vhost-user.txt
/qemu/docs/specs/pci-ids.txt
/qemu/docs/usb2.txt
/qemu/exec.c
/qemu/hw/audio/trace-events
/qemu/hw/bt/sdp.c
/qemu/hw/char/trace-events
/qemu/hw/display/trace-events
/qemu/hw/dma/trace-events
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/intel_iommu_internal.h
/qemu/hw/i386/pc.c
/qemu/hw/i386/xen/trace-events
/qemu/hw/input/trace-events
/qemu/hw/intc/armv7m_nvic.c
/qemu/hw/intc/trace-events
/qemu/hw/isa/trace-events
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/trace-events
/qemu/hw/nvram/trace-events
/qemu/hw/pci/trace-events
/qemu/hw/ppc/trace-events
/qemu/hw/s390x/trace-events
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/vmw_pvscsi.c
/qemu/hw/sd/trace-events
/qemu/hw/timer/mc146818rtc.c
/qemu/hw/timer/trace-events
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/trace-events
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-backend.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/xen/trace-events
/qemu/include/chardev/char-fd.h
/qemu/include/chardev/char.h
/qemu/include/exec/ram_addr.h
/qemu/include/hw/i386/intel_iommu.h
channel-socket.c
/qemu/linux-user/syscall.c
/qemu/linux-user/trace-events
/qemu/memory.c
/qemu/migration/migration.c
/qemu/migration/ram.c
/qemu/migration/trace-events
/qemu/monitor.c
/qemu/nbd/trace-events
/qemu/net/colo-compare.c
/qemu/net/filter-rewriter.c
/qemu/net/trace-events
/qemu/net/vhost-user.c
/qemu/qemu-doc.texi
/qemu/qemu-options.hx
/qemu/scripts/checkpatch.pl
/qemu/scripts/tracetool/__init__.py
/qemu/scripts/tracetool/backend/__init__.py
/qemu/scripts/tracetool/backend/dtrace.py
/qemu/scripts/tracetool/backend/ftrace.py
/qemu/scripts/tracetool/backend/log.py
/qemu/scripts/tracetool/backend/simple.py
/qemu/scripts/tracetool/backend/syslog.py
/qemu/scripts/tracetool/backend/ust.py
/qemu/scripts/tracetool/format/h.py
/qemu/scripts/tracetool/format/simpletrace_stap.py
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/machine.c
/qemu/target/arm/trace-events
/qemu/target/i386/kvm.c
/qemu/target/s390x/trace-events
/qemu/target/sparc/trace-events
/qemu/tests/bios-tables-test.c
/qemu/tests/pxe-test.c
/qemu/tests/qemu-iotests/041
/qemu/tests/qemu-iotests/059
/qemu/tests/qemu-iotests/059.out
/qemu/tests/qemu-iotests/063
/qemu/tests/qemu-iotests/074
/qemu/tests/qemu-iotests/124
/qemu/tests/qemu-iotests/141
/qemu/tests/qemu-iotests/153
/qemu/tests/qemu-iotests/156
/qemu/tests/qemu-iotests/162
/qemu/tests/qemu-iotests/179
/qemu/tests/qemu-iotests/186
/qemu/tests/qemu-iotests/186.out
/qemu/tests/qemu-iotests/190
/qemu/tests/qemu-iotests/190.out
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/group
/qemu/tests/rtc-test.c
/qemu/tests/vmgenid-test.c
/qemu/trace-events
/qemu/trace/control.h
/qemu/vl.c

12345678