[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC v5 000/126] error: auto propagated local_err
Hi all! At the request of Markus: full version of errp propagation. Let's look at it. Cover as much as possible, except inserting macro invocation where it's not necessary. It's huge, and so it's an RFC. In v5 I've added a lot more preparation cleanups: 01-23 are preparation cleanups 01: not changed, keep Eric's r-b 02: improve commit msg [Markus], keep Eric's r-b 03: changed, only error API here, drop r-b 24 is core macro - improve cover letter, wording and macro code style - keep Eric's r-b 25-26: automation scripts - commit-per-subsystem changed a lot. it's a draft, don't bother too much with it - coccinelle: add support of error_propagate_prepend 27-126: generated patches ==== Here is a proposal of auto propagation for local_err, to not call error_propagate on every exit point, when we deal with local_err. There are also two issues with errp: 1. error_fatal & error_append_hint/error_prepend: user can't see this additional info, because exit() happens in error_setg earlier than info is added. [Reported by Greg Kurz] 2. error_abort & error_propagate: when we wrap error_abort by local_err+error_propagate, resulting coredump will refer to error_propagate and not to the place where error happened. (the macro itself don't fix the issue, but it allows to [3.] drop all local_err+error_propagate pattern, which will definitely fix the issue) [Reported by Kevin Wolf] ==== Generated patches split: misc hw/misc/ivshmem.c hw/misc/tmp105.c hw/misc/tmp421.c s390x hw/intc/s390_flic_kvm.c hw/s390x/3270-ccw.c hw/s390x/css-bridge.c hw/s390x/css.c hw/s390x/s390-skeys.c hw/s390x/s390-virtio-ccw.c hw/s390x/sclp.c hw/s390x/tod-kvm.c hw/vfio/ccw.c target/s390x/cpu.c tcg exec.c hw/arm/armv7m.c hw/arm/smmu-common.c hw/arm/smmuv3.c hw/cpu/a15mpcore.c hw/cpu/a9mpcore.c hw/cpu/arm11mpcore.c hw/i386/pc.c hw/intc/nios2_iic.c hw/mips/cps.c hw/riscv/riscv_hart.c hw/riscv/sifive_e.c hw/riscv/sifive_u.c hw/sd/milkymist-memcard.c target/alpha/cpu.c target/arm/cpu.c target/arm/cpu64.c target/cris/cpu.c target/hppa/cpu.c target/i386/cpu.c target/lm32/cpu.c target/m68k/cpu.c target/microblaze/cpu.c target/mips/cpu.c target/moxie/cpu.c target/nios2/cpu.c target/openrisc/cpu.c target/ppc/compat.c target/ppc/translate_init.inc.c target/riscv/cpu.c target/sh4/cpu.c target/sparc/cpu.c target/tricore/cpu.c target/unicore32/cpu.c target/xtensa/cpu.c kvm target/ppc/kvm.c target/s390x/cpu_models.c xen hw/block/dataplane/xen-block.c hw/block/xen-block.c hw/xen/xen-backend.c hw/xen/xen-bus.c hw/xen/xen-host-pci-device.c hw/xen/xen_pt.c hw/xen/xen_pt_config_init.c Hosts qga/commands-win32.c util/oslib-posix.c ARM Machines hw/arm/allwinner-a10.c hw/arm/aspeed_soc.c hw/arm/bcm2835_peripherals.c hw/arm/bcm2836.c hw/arm/digic.c hw/arm/fsl-imx25.c hw/arm/fsl-imx31.c hw/arm/fsl-imx6.c hw/arm/integratorcp.c hw/arm/msf2-soc.c hw/arm/nrf51_soc.c hw/arm/stm32f205_soc.c hw/arm/virt.c hw/arm/xlnx-versal-virt.c hw/arm/xlnx-zynqmp.c hw/cpu/realview_mpcore.c hw/display/bcm2835_fb.c hw/dma/bcm2835_dma.c hw/dma/xilinx_axidma.c hw/gpio/aspeed_gpio.c hw/gpio/bcm2835_gpio.c hw/intc/arm_gic.c hw/intc/arm_gic_kvm.c hw/intc/arm_gicv3.c hw/intc/arm_gicv3_its_kvm.c hw/intc/arm_gicv3_kvm.c hw/intc/armv7m_nvic.c hw/intc/realview_gic.c hw/microblaze/xlnx-zynqmp-pmu.c hw/misc/bcm2835_mbox.c hw/misc/bcm2835_property.c hw/misc/msf2-sysreg.c hw/net/xilinx_axienet.c hw/nvram/nrf51_nvm.c hw/timer/aspeed_timer.c hw/watchdog/wdt_aspeed.c MIPS Machines hw/core/loader-fit.c PowerPC Machines hw/intc/pnv_xive.c hw/intc/xics.c hw/intc/xics_kvm.c hw/intc/xics_pnv.c hw/intc/xics_spapr.c hw/isa/pc87312.c hw/misc/macio/macio.c hw/ppc/e500.c hw/ppc/mac_newworld.c hw/ppc/pnv.c hw/ppc/pnv_core.c hw/ppc/pnv_homer.c hw/ppc/pnv_lpc.c hw/ppc/pnv_occ.c hw/ppc/pnv_psi.c hw/ppc/spapr.c hw/ppc/spapr_caps.c hw/ppc/spapr_cpu_core.c hw/ppc/spapr_drc.c hw/ppc/spapr_irq.c hw/ppc/spapr_pci.c hw/ppc/spapr_vio.c SPARC Machines hw/sparc/sun4m.c hw/sparc64/sun4u.c S390 Machines hw/s390x/ipl.c hw/s390x/s390-pci-bus.c X86 Machines hw/acpi/ich9.c hw/char/debugcon.c hw/char/serial-pci-multi.c hw/char/serial-pci.c hw/core/machine.c hw/core/numa.c hw/intc/apic_common.c hw/pci-host/piix.c IDE hw/ide/qdev.c Floppy hw/block/fdc.c IPack hw/ipack/ipack.c PCI hw/pci-bridge/gen_pcie_root_port.c hw/pci-bridge/pci_bridge_dev.c hw/pci-bridge/pci_expander_bridge.c hw/pci-bridge/pcie_pci_bridge.c hw/pci-bridge/pcie_root_port.c hw/pci/pci.c hw/pci/pcie.c hw/pci/shpc.c ACPI/SMBIOS hw/acpi/core.c hw/acpi/cpu_hotplug.c hw/acpi/memory_hotplug.c hw/mem/memory-device.c hw/mem/pc-dimm.c hw/smbios/smbios.c Network devices hw/net/dp8393x.c hw/net/ne2000-isa.c pflash hw/block/pflash_cfi01.c hw/block/pflash_cfi02.c SCSI hw/scsi/esp-pci.c hw/scsi/mptsas.c hw/scsi/scsi-bus.c hw/scsi/scsi-disk.c hw/scsi/scsi-generic.c hw/scsi/virtio-scsi.c SD (Secure Card) hw/sd/sdhci-pci.c hw/sd/sdhci.c USB hw/usb/bus.c hw/usb/ccid-card-emulated.c hw/usb/dev-smartcard-reader.c hw/usb/dev-storage.c hw/usb/hcd-ohci-pci.c hw/usb/hcd-ohci.c hw/usb/hcd-uhci.c hw/usb/hcd-xhci.c USB (serial adapter) hw/usb/dev-serial.c VFIO hw/vfio/common.c hw/vfio/pci-quirks.c hw/vfio/pci.c hw/vfio/platform.c vfio-ccw hw/s390x/s390-ccw.c vhost hw/block/vhost-user-blk.c hw/scsi/vhost-scsi.c hw/scsi/vhost-user-scsi.c hw/virtio/vhost-vsock.c virtio hw/virtio/virtio-balloon.c hw/virtio/virtio-bus.c hw/virtio/virtio-pci.c hw/virtio/virtio-rng-pci.c hw/virtio/virtio.c virtio-9p hw/9pfs/9p-local.c hw/9pfs/9p.c virtio-blk hw/block/dataplane/virtio-blk.c hw/block/virtio-blk.c virtio-ccw hw/s390x/virtio-ccw-crypto.c hw/s390x/virtio-ccw-rng.c hw/s390x/virtio-ccw.c virtio-input hw/input/virtio-input.c virtio-serial hw/char/virtio-serial-bus.c virtio-rng backends/rng.c hw/virtio/virtio-rng.c megasas hw/scsi/megasas.c NVDIMM hw/mem/nvdimm.c eepro100 hw/net/eepro100.c virtio-gpu hw/display/virtio-gpu-base.c hw/display/virtio-gpu-pci.c hw/display/virtio-vga.c fw_cfg hw/nvram/fw_cfg.c XIVE hw/intc/spapr_xive.c hw/intc/spapr_xive_kvm.c hw/intc/xive.c Audio audio/audio.c hw/audio/intel-hda.c block block.c block/backup.c block/block-backend.c block/commit.c block/crypto.c block/dirty-bitmap.c block/io.c block/mirror.c block/qapi.c block/snapshot.c block/throttle-groups.c block/throttle.c block/vxhs.c blockdev.c blockjob.c hw/block/onenand.c job.c scsi scsi/pr-manager-helper.c chardev chardev/char-socket.c chardev/char.c chardev/spice.c cmdline util/qemu-option.c Dump dump/dump.c dump/win_dump.c Memory API memory.c SPICE hw/display/qxl.c Graphics ui/input-barrier.c ui/input.c ui/vnc.c Main loop util/main-loop.c vl.c Human Monitor (HMP) monitor/misc.c net net/can/can_host.c net/dump.c net/filter-buffer.c net/filter.c net/net.c net/netmap.c net/tap.c hostmem backends/hostmem-file.c backends/hostmem-memfd.c backends/hostmem.c cryptodev backends/cryptodev-vhost-user.c backends/cryptodev.c QAPI qapi/qapi-visit-core.c qapi/qmp-dispatch.c qapi/string-input-visitor.c qga qga/commands-posix.c QOM hw/core/qdev-properties-system.c hw/core/qdev-properties.c hw/core/qdev.c qdev-monitor.c qom/object.c qom/object_interfaces.c qom/qom-qobject.c QMP monitor/qmp-cmds.c SLIRP net/slirp.c Tracing trace/qmp.c TPM hw/tpm/tpm_util.c tpm.c Migration migration/migration.c migration/ram.c migration/rdma.c migration/savevm.c migration/socket.c Cryptography crypto/block-luks.c crypto/secret.c crypto/tlssession.c I/O Channels io/dns-resolver.c io/net-listener.c Sockets util/qemu-sockets.c colo migration/colo.c Record/replay block/blkreplay.c VMDK block/vmdk.c RBD block/rbd.c Sheepdog block/sheepdog.c VHDX block/vhdx-log.c block/vhdx.c VDI block/vdi.c iSCSI block/iscsi.c nbd include/block/nbd.h block/nbd.c nbd/client.c nbd/server.c NFS block/nfs.c SSH block/ssh.c CURL block/curl.c GLUSTER block/gluster.c NVMe Block Driver block/nvme.c Bootdevice bootdevice.c Quorum block/quorum.c blklogwrites block/blklogwrites.c blkverify block/blkverify.c parallels block/parallels.c qed block/qed.c raw block/file-posix.c block/file-win32.c block/raw-format.c qcow2 block/qcow2-bitmap.c block/qcow2.c qcow block/qcow.c blkdebug block/blkdebug.c vpc block/vpc.c vvfat block/vvfat.c Replication block/replication.c replication.c PVRDMA hw/rdma/vmw/pvrdma_main.c hw/core/bus.c hw/core/bus.c hw/cpu/core.c hw/cpu/core.c hw/sd/ssi-sd.c hw/sd/ssi-sd.c iothread.c iothread.c memory_mapping.c memory_mapping.c target/tilegx/cpu.c target/tilegx/cpu.c tests/test-image-locking.c tests/test-image-locking.c util/qemu-config.c util/qemu-config.c Vladimir Sementsov-Ogievskiy (126): hw/core/loader-fit: fix freeing errp in fit_load_fdt net/net: Clean up variable shadowing in net_client_init() error: rename errp to errp_in where it is IN-argument hmp: drop Error pointer indirection in hmp_handle_error vnc: drop Error pointer indirection in vnc_client_io_error qdev-monitor: well form error hint helpers nbd: well form nbd_iter_channel_error errp handler ppc: well form kvmppc_hint_smt_possible error hint helper 9pfs: well form error hint helpers hw/core/qdev: cleanup Error ** variables block/snapshot: rename Error ** parameter to more common errp hw/i386/amd_iommu: rename Error ** parameter to more common errp qga: rename Error ** parameter to more common errp monitor/qmp-cmds: rename Error ** parameter to more common errp hw/s390x: rename Error ** parameter to more common errp hw/sd: rename Error ** parameter to more common errp hw/tpm: rename Error ** parameter to more common errp hw/usb: rename Error ** parameter to more common errp include/block/snapshot.h: rename Error ** parameter to more common errp include/qom/object.h: rename Error ** parameter to more common errp qapi/error: add (Error **errp) cleaning APIs backends/cryptodev: drop local_err from cryptodev_backend_complete() hw/vfio/ap: drop local_err from vfio_ap_realize error: auto propagated local_err scripts: add coccinelle script to use auto propagated errp python: add commit-per-subsystem.py misc: introduce ERRP_AUTO_PROPAGATE s390x: introduce ERRP_AUTO_PROPAGATE tcg: introduce ERRP_AUTO_PROPAGATE kvm: introduce ERRP_AUTO_PROPAGATE xen: introduce ERRP_AUTO_PROPAGATE Hosts: introduce ERRP_AUTO_PROPAGATE ARM Machines: introduce ERRP_AUTO_PROPAGATE MIPS Machines: introduce ERRP_AUTO_PROPAGATE PowerPC Machines: introduce ERRP_AUTO_PROPAGATE SPARC Machines: introduce ERRP_AUTO_PROPAGATE S390 Machines: introduce ERRP_AUTO_PROPAGATE X86 Machines: introduce ERRP_AUTO_PROPAGATE IDE: introduce ERRP_AUTO_PROPAGATE Floppy: introduce ERRP_AUTO_PROPAGATE IPack: introduce ERRP_AUTO_PROPAGATE PCI: introduce ERRP_AUTO_PROPAGATE ACPI/SMBIOS: introduce ERRP_AUTO_PROPAGATE Network devices: introduce ERRP_AUTO_PROPAGATE pflash: introduce ERRP_AUTO_PROPAGATE SCSI: introduce ERRP_AUTO_PROPAGATE SD (Secure Card): introduce ERRP_AUTO_PROPAGATE USB: introduce ERRP_AUTO_PROPAGATE USB (serial adapter): introduce ERRP_AUTO_PROPAGATE VFIO: introduce ERRP_AUTO_PROPAGATE vfio-ccw: introduce ERRP_AUTO_PROPAGATE vhost: introduce ERRP_AUTO_PROPAGATE virtio: introduce ERRP_AUTO_PROPAGATE virtio-9p: introduce ERRP_AUTO_PROPAGATE virtio-blk: introduce ERRP_AUTO_PROPAGATE virtio-ccw: introduce ERRP_AUTO_PROPAGATE virtio-input: introduce ERRP_AUTO_PROPAGATE virtio-serial: introduce ERRP_AUTO_PROPAGATE virtio-rng: introduce ERRP_AUTO_PROPAGATE megasas: introduce ERRP_AUTO_PROPAGATE NVDIMM: introduce ERRP_AUTO_PROPAGATE eepro100: introduce ERRP_AUTO_PROPAGATE virtio-gpu: introduce ERRP_AUTO_PROPAGATE fw_cfg: introduce ERRP_AUTO_PROPAGATE XIVE: introduce ERRP_AUTO_PROPAGATE Audio: introduce ERRP_AUTO_PROPAGATE block: introduce ERRP_AUTO_PROPAGATE scsi: introduce ERRP_AUTO_PROPAGATE chardev: introduce ERRP_AUTO_PROPAGATE cmdline: introduce ERRP_AUTO_PROPAGATE Dump: introduce ERRP_AUTO_PROPAGATE Memory API: introduce ERRP_AUTO_PROPAGATE SPICE: introduce ERRP_AUTO_PROPAGATE Graphics: introduce ERRP_AUTO_PROPAGATE Main loop: introduce ERRP_AUTO_PROPAGATE Human Monitor (HMP): introduce ERRP_AUTO_PROPAGATE net: introduce ERRP_AUTO_PROPAGATE hostmem: introduce ERRP_AUTO_PROPAGATE cryptodev: introduce ERRP_AUTO_PROPAGATE QAPI: introduce ERRP_AUTO_PROPAGATE qga: introduce ERRP_AUTO_PROPAGATE QOM: introduce ERRP_AUTO_PROPAGATE QMP: introduce ERRP_AUTO_PROPAGATE SLIRP: introduce ERRP_AUTO_PROPAGATE Tracing: introduce ERRP_AUTO_PROPAGATE TPM: introduce ERRP_AUTO_PROPAGATE Migration: introduce ERRP_AUTO_PROPAGATE Cryptography: introduce ERRP_AUTO_PROPAGATE I/O Channels: introduce ERRP_AUTO_PROPAGATE Sockets: introduce ERRP_AUTO_PROPAGATE colo: introduce ERRP_AUTO_PROPAGATE Record/replay: introduce ERRP_AUTO_PROPAGATE VMDK: introduce ERRP_AUTO_PROPAGATE RBD: introduce ERRP_AUTO_PROPAGATE Sheepdog: introduce ERRP_AUTO_PROPAGATE VHDX: introduce ERRP_AUTO_PROPAGATE VDI: introduce ERRP_AUTO_PROPAGATE iSCSI: introduce ERRP_AUTO_PROPAGATE nbd: introduce ERRP_AUTO_PROPAGATE NFS: introduce ERRP_AUTO_PROPAGATE SSH: introduce ERRP_AUTO_PROPAGATE CURL: introduce ERRP_AUTO_PROPAGATE GLUSTER: introduce ERRP_AUTO_PROPAGATE NVMe Block Driver: introduce ERRP_AUTO_PROPAGATE Bootdevice: introduce ERRP_AUTO_PROPAGATE Quorum: introduce ERRP_AUTO_PROPAGATE blklogwrites: introduce ERRP_AUTO_PROPAGATE blkverify: introduce ERRP_AUTO_PROPAGATE parallels: introduce ERRP_AUTO_PROPAGATE qed: introduce ERRP_AUTO_PROPAGATE raw: introduce ERRP_AUTO_PROPAGATE qcow2: introduce ERRP_AUTO_PROPAGATE qcow: introduce ERRP_AUTO_PROPAGATE blkdebug: introduce ERRP_AUTO_PROPAGATE vpc: introduce ERRP_AUTO_PROPAGATE vvfat: introduce ERRP_AUTO_PROPAGATE Replication: introduce ERRP_AUTO_PROPAGATE PVRDMA: introduce ERRP_AUTO_PROPAGATE hw/core/bus.c: introduce ERRP_AUTO_PROPAGATE hw/cpu/core.c: introduce ERRP_AUTO_PROPAGATE hw/sd/ssi-sd.c: introduce ERRP_AUTO_PROPAGATE iothread.c: introduce ERRP_AUTO_PROPAGATE memory_mapping.c: introduce ERRP_AUTO_PROPAGATE target/tilegx/cpu.c: introduce ERRP_AUTO_PROPAGATE tests/test-image-locking.c: introduce ERRP_AUTO_PROPAGATE util/qemu-config.c: introduce ERRP_AUTO_PROPAGATE CC: Gerd Hoffmann <kraxel@xxxxxxxxxx> CC: "Gonglei (Arei)" <arei.gonglei@xxxxxxxxxx> CC: Eduardo Habkost <ehabkost@xxxxxxxxxx> CC: Igor Mammedov <imammedo@xxxxxxxxxx> CC: Laurent Vivier <lvivier@xxxxxxxxxx> CC: Amit Shah <amit@xxxxxxxxxx> CC: Kevin Wolf <kwolf@xxxxxxxxxx> CC: Max Reitz <mreitz@xxxxxxxxxx> CC: John Snow <jsnow@xxxxxxxxxx> CC: Ari Sundholm <ari@xxxxxxxxxx> CC: Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Stefan Hajnoczi <stefanha@xxxxxxxxxx> CC: Fam Zheng <fam@xxxxxxxxxx> CC: Stefan Weil <sw@xxxxxxxxxxx> CC: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx> CC: Peter Lieven <pl@xxxxxxx> CC: Eric Blake <eblake@xxxxxxxxxx> CC: "Denis V. Lunev" <den@xxxxxxxxxx> CC: Markus Armbruster <armbru@xxxxxxxxxx> CC: Alberto Garcia <berto@xxxxxxxxxx> CC: Jason Dillaman <dillaman@xxxxxxxxxx> CC: Wen Congyang <wencongyang2@xxxxxxxxxx> CC: Xie Changlong <xiechanglong.d@xxxxxxxxx> CC: Liu Yuan <namei.unix@xxxxxxxxx> CC: "Richard W.M. Jones" <rjones@xxxxxxxxxx> CC: Jeff Cody <codyprime@xxxxxxxxx> CC: "Marc-André Lureau" <marcandre.lureau@xxxxxxxxxx> CC: "Daniel P. Berrangé" <berrange@xxxxxxxxxx> CC: Richard Henderson <rth@xxxxxxxxxxx> CC: Greg Kurz <groug@xxxxxxxx> CC: "Michael S. Tsirkin" <mst@xxxxxxxxxx> CC: Marcel Apfelbaum <marcel.apfelbaum@xxxxxxxxx> CC: Beniamino Galvani <b.galvani@xxxxxxxxx> CC: Peter Maydell <peter.maydell@xxxxxxxxxx> CC: "Cédric Le Goater" <clg@xxxxxxxx> CC: Andrew Jeffery <andrew@xxxxxxxx> CC: Joel Stanley <joel@xxxxxxxxx> CC: Andrew Baumann <Andrew.Baumann@xxxxxxxxxxxxx> CC: "Philippe Mathieu-Daudé" <philmd@xxxxxxxxxx> CC: Antony Pavlov <antonynpavlov@xxxxxxxxx> CC: Jean-Christophe Dubois <jcd@xxxxxxxxxxxxxxx> CC: Peter Chubb <peter.chubb@xxxxxxxxxxxx> CC: Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx> CC: Eric Auger <eric.auger@xxxxxxxxxx> CC: Alistair Francis <alistair@xxxxxxxxxxxxx> CC: "Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxx> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> CC: Anthony Perard <anthony.perard@xxxxxxxxxx> CC: Paul Durrant <paul@xxxxxxx> CC: Paul Burton <pburton@xxxxxxxxxxxx> CC: Aleksandar Rikalo <arikalo@xxxxxxxxxxxx> CC: Chris Wulff <crwulff@xxxxxxxxx> CC: Marek Vasut <marex@xxxxxxx> CC: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> CC: Cornelia Huck <cohuck@xxxxxxxxxx> CC: Halil Pasic <pasic@xxxxxxxxxxxxx> CC: Christian Borntraeger <borntraeger@xxxxxxxxxx> CC: "Hervé Poussineau" <hpoussin@xxxxxxxxxxx> CC: Xiao Guangrong <xiaoguangrong.eric@xxxxxxxxx> CC: Aurelien Jarno <aurelien@xxxxxxxxxxx> CC: Aleksandar Markovic <amarkovic@xxxxxxxxxxxx> CC: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx> CC: Jason Wang <jasowang@xxxxxxxxxx> CC: Laszlo Ersek <lersek@xxxxxxxxxx> CC: Yuval Shaia <yuval.shaia@xxxxxxxxxx> CC: Palmer Dabbelt <palmer@xxxxxxxxxx> CC: Sagar Karandikar <sagark@xxxxxxxxxxxxxxxxx> CC: Bastian Koppelmann <kbastian@xxxxxxxxxxxxxxxxxxxxx> CC: David Hildenbrand <david@xxxxxxxxxx> CC: Thomas Huth <thuth@xxxxxxxxxx> CC: Eric Farman <farman@xxxxxxxxxxxxx> CC: Matthew Rosato <mjrosato@xxxxxxxxxxxxx> CC: Hannes Reinecke <hare@xxxxxxxx> CC: Michael Walle <michael@xxxxxxxx> CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx> CC: Stefan Berger <stefanb@xxxxxxxxxxxxx> CC: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> CC: Alex Williamson <alex.williamson@xxxxxxxxxx> CC: Tony Krowiak <akrowiak@xxxxxxxxxxxxx> CC: Pierre Morel <pmorel@xxxxxxxxxxxxx> CC: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx> CC: Hailiang Zhang <zhang.zhanghailiang@xxxxxxxxxx> CC: Juan Quintela <quintela@xxxxxxxxxx> CC: "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx> CC: Luigi Rizzo <rizzo@xxxxxxxxxxxx> CC: Giuseppe Lettieri <g.lettieri@xxxxxxxxxxxx> CC: Vincenzo Maffione <v.maffione@xxxxxxxxx> CC: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> CC: Anthony Green <green@xxxxxxxxxxxxxx> CC: Stafford Horne <shorne@xxxxxxxxx> CC: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> CC: Max Filippov <jcmvbkbc@xxxxxxxxx> CC: qemu-block@xxxxxxxxxx CC: integration@xxxxxxxxxxx CC: sheepdog@xxxxxxxxxxxxxx CC: qemu-arm@xxxxxxxxxx CC: xen-devel@xxxxxxxxxxxxxxxxxxxx CC: qemu-ppc@xxxxxxxxxx CC: qemu-s390x@xxxxxxxxxx CC: qemu-riscv@xxxxxxxxxx include/block/nbd.h | 1 + include/block/snapshot.h | 2 +- include/monitor/hmp.h | 2 +- include/qapi/error.h | 69 ++++- include/qom/object.h | 4 +- target/ppc/kvm_ppc.h | 4 +- ui/vnc.h | 2 +- audio/audio.c | 12 +- backends/cryptodev-vhost-user.c | 10 +- backends/cryptodev.c | 25 +- backends/hostmem-file.c | 21 +- backends/hostmem-memfd.c | 18 +- backends/hostmem.c | 41 ++- backends/rng.c | 7 +- block.c | 225 +++++++--------- block/backup.c | 1 + block/blkdebug.c | 36 ++- block/blklogwrites.c | 22 +- block/blkreplay.c | 7 +- block/blkverify.c | 17 +- block/block-backend.c | 19 +- block/commit.c | 7 +- block/crypto.c | 14 +- block/curl.c | 7 +- block/dirty-bitmap.c | 1 + block/file-posix.c | 79 +++--- block/file-win32.c | 29 +- block/gluster.c | 69 +++-- block/io.c | 12 +- block/iscsi.c | 36 ++- block/mirror.c | 19 +- block/nbd.c | 59 ++-- block/nfs.c | 7 +- block/nvme.c | 19 +- block/parallels.c | 30 +-- block/qapi.c | 26 +- block/qcow.c | 17 +- block/qcow2-bitmap.c | 9 +- block/qcow2.c | 98 +++---- block/qed.c | 18 +- block/quorum.c | 23 +- block/raw-format.c | 7 +- block/rbd.c | 29 +- block/replication.c | 40 ++- block/sheepdog.c | 73 +++-- block/snapshot.c | 20 +- block/ssh.c | 12 +- block/throttle-groups.c | 24 +- block/throttle.c | 7 +- block/vdi.c | 15 +- block/vhdx-log.c | 1 + block/vhdx.c | 22 +- block/vmdk.c | 41 ++- block/vpc.c | 28 +- block/vvfat.c | 12 +- block/vxhs.c | 23 +- blockdev.c | 252 ++++++++---------- blockjob.c | 8 +- bootdevice.c | 31 +-- chardev/char-socket.c | 7 +- chardev/char.c | 20 +- chardev/spice.c | 1 + crypto/block-luks.c | 56 ++-- crypto/secret.c | 17 +- crypto/tlssession.c | 7 +- dump/dump-hmp-cmds.c | 4 +- dump/dump.c | 151 +++++------ dump/win_dump.c | 29 +- exec.c | 21 +- hw/9pfs/9p-local.c | 12 +- hw/9pfs/9p-proxy.c | 5 +- hw/9pfs/9p.c | 1 + hw/acpi/core.c | 18 +- hw/acpi/cpu_hotplug.c | 2 +- hw/acpi/ich9.c | 30 +-- hw/acpi/memory_hotplug.c | 7 +- hw/arm/allwinner-a10.c | 27 +- hw/arm/armv7m.c | 52 ++-- hw/arm/aspeed_soc.c | 1 + hw/arm/bcm2835_peripherals.c | 85 +++--- hw/arm/bcm2836.c | 41 ++- hw/arm/digic.c | 22 +- hw/arm/fsl-imx25.c | 62 ++--- hw/arm/fsl-imx31.c | 57 ++-- hw/arm/fsl-imx6.c | 81 +++--- hw/arm/integratorcp.c | 7 +- hw/arm/msf2-soc.c | 22 +- hw/arm/nrf51_soc.c | 47 ++-- hw/arm/smmu-common.c | 7 +- hw/arm/smmuv3.c | 7 +- hw/arm/stm32f205_soc.c | 39 ++- hw/arm/virt.c | 2 + hw/arm/xlnx-versal-virt.c | 7 +- hw/arm/xlnx-zynqmp.c | 86 +++--- hw/audio/intel-hda.c | 13 +- hw/block/dataplane/virtio-blk.c | 1 + hw/block/dataplane/xen-block.c | 17 +- hw/block/fdc.c | 19 +- hw/block/onenand.c | 7 +- hw/block/pflash_cfi01.c | 7 +- hw/block/pflash_cfi02.c | 7 +- hw/block/vhost-user-blk.c | 6 +- hw/block/virtio-blk.c | 7 +- hw/block/xen-block.c | 119 ++++----- hw/char/debugcon.c | 7 +- hw/char/serial-pci-multi.c | 7 +- hw/char/serial-pci.c | 7 +- hw/char/virtio-serial-bus.c | 7 +- hw/core/bus.c | 15 +- hw/core/loader-fit.c | 7 +- hw/core/machine-hmp-cmds.c | 6 +- hw/core/machine.c | 21 +- hw/core/numa.c | 51 ++-- hw/core/qdev-properties-system.c | 28 +- hw/core/qdev-properties.c | 89 +++---- hw/core/qdev.c | 58 ++-- hw/cpu/a15mpcore.c | 7 +- hw/cpu/a9mpcore.c | 27 +- hw/cpu/arm11mpcore.c | 22 +- hw/cpu/core.c | 14 +- hw/cpu/realview_mpcore.c | 12 +- hw/display/bcm2835_fb.c | 6 +- hw/display/qxl.c | 7 +- hw/display/virtio-gpu-base.c | 7 +- hw/display/virtio-gpu-pci.c | 7 +- hw/display/virtio-vga.c | 7 +- hw/dma/bcm2835_dma.c | 6 +- hw/dma/xilinx_axidma.c | 22 +- hw/gpio/aspeed_gpio.c | 7 +- hw/gpio/bcm2835_gpio.c | 10 +- hw/i386/amd_iommu.c | 14 +- hw/i386/pc.c | 120 ++++----- hw/ide/qdev.c | 16 +- hw/input/virtio-input.c | 14 +- hw/intc/apic_common.c | 7 +- hw/intc/arm_gic.c | 7 +- hw/intc/arm_gic_kvm.c | 12 +- hw/intc/arm_gicv3.c | 12 +- hw/intc/arm_gicv3_its_kvm.c | 7 +- hw/intc/arm_gicv3_kvm.c | 17 +- hw/intc/armv7m_nvic.c | 12 +- hw/intc/nios2_iic.c | 6 +- hw/intc/pnv_xive.c | 15 +- hw/intc/realview_gic.c | 7 +- hw/intc/s390_flic_kvm.c | 9 +- hw/intc/spapr_xive.c | 12 +- hw/intc/spapr_xive_kvm.c | 55 ++-- hw/intc/xics.c | 28 +- hw/intc/xics_kvm.c | 30 +-- hw/intc/xics_pnv.c | 7 +- hw/intc/xics_spapr.c | 7 +- hw/intc/xive.c | 27 +- hw/ipack/ipack.c | 5 +- hw/isa/pc87312.c | 7 +- hw/mem/memory-device.c | 20 +- hw/mem/nvdimm.c | 25 +- hw/mem/pc-dimm.c | 23 +- hw/microblaze/xlnx-zynqmp-pmu.c | 12 +- hw/mips/cps.c | 46 ++-- hw/misc/bcm2835_mbox.c | 6 +- hw/misc/bcm2835_property.c | 10 +- hw/misc/ivshmem.c | 37 ++- hw/misc/macio/macio.c | 68 ++--- hw/misc/msf2-sysreg.c | 1 + hw/misc/tmp105.c | 7 +- hw/misc/tmp421.c | 7 +- hw/net/dp8393x.c | 7 +- hw/net/eepro100.c | 7 +- hw/net/ne2000-isa.c | 17 +- hw/net/xilinx_axienet.c | 22 +- hw/nvram/fw_cfg.c | 14 +- hw/nvram/nrf51_nvm.c | 7 +- hw/pci-bridge/gen_pcie_root_port.c | 7 +- hw/pci-bridge/pci_bridge_dev.c | 13 +- hw/pci-bridge/pci_expander_bridge.c | 7 +- hw/pci-bridge/pcie_pci_bridge.c | 8 +- hw/pci-bridge/pcie_root_port.c | 1 + hw/pci-host/piix.c | 7 +- hw/pci/pci.c | 19 +- hw/pci/pcie.c | 7 +- hw/pci/shpc.c | 14 +- hw/ppc/e500.c | 7 +- hw/ppc/mac_newworld.c | 1 + hw/ppc/pnv.c | 109 ++++---- hw/ppc/pnv_core.c | 23 +- hw/ppc/pnv_homer.c | 5 +- hw/ppc/pnv_lpc.c | 26 +- hw/ppc/pnv_occ.c | 5 +- hw/ppc/pnv_psi.c | 23 +- hw/ppc/spapr.c | 133 ++++----- hw/ppc/spapr_caps.c | 57 ++-- hw/ppc/spapr_cpu_core.c | 36 ++- hw/ppc/spapr_drc.c | 48 ++-- hw/ppc/spapr_irq.c | 98 +++---- hw/ppc/spapr_pci.c | 97 +++---- hw/ppc/spapr_vio.c | 12 +- hw/rdma/vmw/pvrdma_main.c | 1 + hw/riscv/riscv_hart.c | 7 +- hw/riscv/sifive_e.c | 7 +- hw/riscv/sifive_u.c | 11 +- hw/s390x/3270-ccw.c | 13 +- hw/s390x/css-bridge.c | 7 +- hw/s390x/css.c | 7 +- hw/s390x/event-facility.c | 2 +- hw/s390x/ipl.c | 24 +- hw/s390x/s390-ccw.c | 19 +- hw/s390x/s390-pci-bus.c | 37 ++- hw/s390x/s390-skeys.c | 7 +- hw/s390x/s390-stattrib.c | 3 +- hw/s390x/s390-virtio-ccw.c | 11 +- hw/s390x/sclp.c | 15 +- hw/s390x/tod-kvm.c | 14 +- hw/s390x/virtio-ccw-crypto.c | 7 +- hw/s390x/virtio-ccw-rng.c | 7 +- hw/s390x/virtio-ccw.c | 13 +- hw/scsi/esp-pci.c | 7 +- hw/scsi/megasas.c | 11 +- hw/scsi/mptsas.c | 13 +- hw/scsi/scsi-bus.c | 24 +- hw/scsi/scsi-disk.c | 8 +- hw/scsi/scsi-generic.c | 1 + hw/scsi/vhost-scsi.c | 12 +- hw/scsi/vhost-user-scsi.c | 7 +- hw/scsi/virtio-scsi.c | 7 +- hw/sd/milkymist-memcard.c | 11 +- hw/sd/sdhci-pci.c | 7 +- hw/sd/sdhci.c | 23 +- hw/sd/ssi-sd.c | 14 +- hw/smbios/smbios.c | 42 ++- hw/sparc/sun4m.c | 21 +- hw/sparc64/sun4u.c | 7 +- hw/timer/aspeed_timer.c | 6 +- hw/tpm/tpm_emulator.c | 8 +- hw/tpm/tpm_util.c | 7 +- hw/usb/bus.c | 37 ++- hw/usb/ccid-card-emulated.c | 1 + hw/usb/dev-network.c | 2 +- hw/usb/dev-serial.c | 7 +- hw/usb/dev-smartcard-reader.c | 14 +- hw/usb/dev-storage.c | 17 +- hw/usb/hcd-ohci-pci.c | 7 +- hw/usb/hcd-ohci.c | 14 +- hw/usb/hcd-uhci.c | 7 +- hw/usb/hcd-xhci.c | 13 +- hw/vfio/ap.c | 16 +- hw/vfio/ccw.c | 24 +- hw/vfio/common.c | 3 + hw/vfio/pci-quirks.c | 8 +- hw/vfio/pci.c | 42 ++- hw/vfio/platform.c | 1 + hw/virtio/vhost-vsock.c | 1 + hw/virtio/virtio-balloon.c | 35 ++- hw/virtio/virtio-bus.c | 17 +- hw/virtio/virtio-pci.c | 2 + hw/virtio/virtio-rng-pci.c | 7 +- hw/virtio/virtio-rng.c | 7 +- hw/virtio/virtio.c | 19 +- hw/watchdog/wdt_aspeed.c | 5 +- hw/xen/xen-backend.c | 7 +- hw/xen/xen-bus.c | 92 +++---- hw/xen/xen-host-pci-device.c | 27 +- hw/xen/xen_pt.c | 25 +- hw/xen/xen_pt_config_init.c | 20 +- io/dns-resolver.c | 7 +- io/net-listener.c | 7 +- iothread.c | 27 +- job.c | 7 +- memory.c | 63 ++--- memory_mapping.c | 7 +- migration/colo.c | 38 ++- migration/migration.c | 39 ++- migration/ram.c | 13 +- migration/rdma.c | 13 +- migration/savevm.c | 2 + migration/socket.c | 18 +- monitor/hmp-cmds.c | 155 ++++++----- monitor/misc.c | 9 +- monitor/qmp-cmds.c | 9 +- nbd/client.c | 5 + nbd/server.c | 5 + net/can/can_host.c | 7 +- net/dump.c | 15 +- net/filter-buffer.c | 15 +- net/filter.c | 7 +- net/net.c | 58 ++-- net/netmap.c | 7 +- net/slirp.c | 7 +- net/tap.c | 47 ++-- qapi/qapi-visit-core.c | 56 ++-- qapi/qmp-dispatch.c | 7 +- qapi/string-input-visitor.c | 7 +- qdev-monitor.c | 69 +++-- qga/commands-posix.c | 222 +++++++-------- qga/commands-win32.c | 141 +++++----- qga/commands.c | 12 +- qom/object.c | 246 ++++++++--------- qom/object_interfaces.c | 27 +- qom/qom-hmp-cmds.c | 4 +- qom/qom-qobject.c | 7 +- replication.c | 28 +- scsi/pr-manager-helper.c | 7 +- target/alpha/cpu.c | 7 +- target/arm/cpu.c | 7 +- target/arm/cpu64.c | 11 +- target/cris/cpu.c | 7 +- target/hppa/cpu.c | 7 +- target/i386/cpu.c | 117 ++++---- target/lm32/cpu.c | 7 +- target/m68k/cpu.c | 7 +- target/microblaze/cpu.c | 7 +- target/mips/cpu.c | 7 +- target/moxie/cpu.c | 7 +- target/nios2/cpu.c | 7 +- target/openrisc/cpu.c | 7 +- target/ppc/compat.c | 20 +- target/ppc/kvm.c | 14 +- target/ppc/translate_init.inc.c | 26 +- target/riscv/cpu.c | 7 +- target/s390x/cpu.c | 26 +- target/s390x/cpu_models.c | 2 + target/sh4/cpu.c | 7 +- target/sparc/cpu.c | 14 +- target/tilegx/cpu.c | 7 +- target/tricore/cpu.c | 7 +- target/unicore32/cpu.c | 7 +- target/xtensa/cpu.c | 7 +- tests/test-image-locking.c | 7 +- tpm.c | 7 +- trace/qmp.c | 14 +- ui/input-barrier.c | 7 +- ui/input.c | 14 +- ui/vnc.c | 39 ++- util/error.c | 30 +-- util/main-loop.c | 5 +- util/oslib-posix.c | 6 +- util/qemu-config.c | 29 +- util/qemu-option.c | 59 ++-- util/qemu-sockets.c | 31 +-- vl.c | 14 +- python/commit-per-subsystem.py | 204 ++++++++++++++ scripts/coccinelle/auto-propagated-errp.cocci | 118 ++++++++ 341 files changed, 3851 insertions(+), 4455 deletions(-) create mode 100755 python/commit-per-subsystem.py create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci -- 2.21.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |