Finally, what is the plan? Markus what do you think?
Now a lot of patches are reviewed, but a lot of are not. Is there any hope that all patches will be reviewed? Should I resend the whole series, or may be reduce it to reviewed subsystems only? 11.10.2019 19:03, Vladimir Sementsov-Ogievskiy wrote: > 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 <kra...@redhat.com> > CC: "Gonglei (Arei)" <arei.gong...@huawei.com> > CC: Eduardo Habkost <ehabk...@redhat.com> > CC: Igor Mammedov <imamm...@redhat.com> > CC: Laurent Vivier <lviv...@redhat.com> > CC: Amit Shah <a...@kernel.org> > CC: Kevin Wolf <kw...@redhat.com> > CC: Max Reitz <mre...@redhat.com> > CC: John Snow <js...@redhat.com> > CC: Ari Sundholm <a...@tuxera.com> > CC: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> > CC: Paolo Bonzini <pbonz...@redhat.com> > CC: Stefan Hajnoczi <stefa...@redhat.com> > CC: Fam Zheng <f...@euphon.net> > CC: Stefan Weil <s...@weilnetz.de> > CC: Ronnie Sahlberg <ronniesahlb...@gmail.com> > CC: Peter Lieven <p...@kamp.de> > CC: Eric Blake <ebl...@redhat.com> > CC: "Denis V. Lunev" <d...@openvz.org> > CC: Markus Armbruster <arm...@redhat.com> > CC: Alberto Garcia <be...@igalia.com> > CC: Jason Dillaman <dilla...@redhat.com> > CC: Wen Congyang <wencongya...@huawei.com> > CC: Xie Changlong <xiechanglon...@gmail.com> > CC: Liu Yuan <namei.u...@gmail.com> > CC: "Richard W.M. Jones" <rjo...@redhat.com> > CC: Jeff Cody <codypr...@gmail.com> > CC: "Marc-André Lureau" <marcandre.lur...@redhat.com> > CC: "Daniel P. Berrangé" <berra...@redhat.com> > CC: Richard Henderson <r...@twiddle.net> > CC: Greg Kurz <gr...@kaod.org> > CC: "Michael S. Tsirkin" <m...@redhat.com> > CC: Marcel Apfelbaum <marcel.apfelb...@gmail.com> > CC: Beniamino Galvani <b.galv...@gmail.com> > CC: Peter Maydell <peter.mayd...@linaro.org> > CC: "Cédric Le Goater" <c...@kaod.org> > CC: Andrew Jeffery <and...@aj.id.au> > CC: Joel Stanley <j...@jms.id.au> > CC: Andrew Baumann <andrew.baum...@microsoft.com> > CC: "Philippe Mathieu-Daudé" <phi...@redhat.com> > CC: Antony Pavlov <antonynpav...@gmail.com> > CC: Jean-Christophe Dubois <j...@tribudubois.net> > CC: Peter Chubb <peter.ch...@nicta.com.au> > CC: Subbaraya Sundeep <sundeep.l...@gmail.com> > CC: Eric Auger <eric.au...@redhat.com> > CC: Alistair Francis <alist...@alistair23.me> > CC: "Edgar E. Iglesias" <edgar.igles...@gmail.com> > CC: Stefano Stabellini <sstabell...@kernel.org> > CC: Anthony Perard <anthony.per...@citrix.com> > CC: Paul Durrant <p...@xen.org> > CC: Paul Burton <pbur...@wavecomp.com> > CC: Aleksandar Rikalo <arik...@wavecomp.com> > CC: Chris Wulff <crwu...@gmail.com> > CC: Marek Vasut <ma...@denx.de> > CC: David Gibson <da...@gibson.dropbear.id.au> > CC: Cornelia Huck <coh...@redhat.com> > CC: Halil Pasic <pa...@linux.ibm.com> > CC: Christian Borntraeger <borntrae...@de.ibm.com> > CC: "Hervé Poussineau" <hpous...@reactos.org> > CC: Xiao Guangrong <xiaoguangrong.e...@gmail.com> > CC: Aurelien Jarno <aurel...@aurel32.net> > CC: Aleksandar Markovic <amarko...@wavecomp.com> > CC: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > CC: Jason Wang <jasow...@redhat.com> > CC: Laszlo Ersek <ler...@redhat.com> > CC: Yuval Shaia <yuval.sh...@oracle.com> > CC: Palmer Dabbelt <pal...@sifive.com> > CC: Sagar Karandikar <sag...@eecs.berkeley.edu> > CC: Bastian Koppelmann <kbast...@mail.uni-paderborn.de> > CC: David Hildenbrand <da...@redhat.com> > CC: Thomas Huth <th...@redhat.com> > CC: Eric Farman <far...@linux.ibm.com> > CC: Matthew Rosato <mjros...@linux.ibm.com> > CC: Hannes Reinecke <h...@suse.com> > CC: Michael Walle <mich...@walle.cc> > CC: Artyom Tarasenko <atar4q...@gmail.com> > CC: Stefan Berger <stef...@linux.ibm.com> > CC: Samuel Thibault <samuel.thiba...@ens-lyon.org> > CC: Alex Williamson <alex.william...@redhat.com> > CC: Tony Krowiak <akrow...@linux.ibm.com> > CC: Pierre Morel <pmo...@linux.ibm.com> > CC: Michael Roth <mdr...@linux.vnet.ibm.com> > CC: Hailiang Zhang <zhang.zhanghaili...@huawei.com> > CC: Juan Quintela <quint...@redhat.com> > CC: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > CC: Luigi Rizzo <ri...@iet.unipi.it> > CC: Giuseppe Lettieri <g.letti...@iet.unipi.it> > CC: Vincenzo Maffione <v.maffi...@gmail.com> > CC: Jan Kiszka <jan.kis...@siemens.com> > CC: Anthony Green <gr...@moxielogic.com> > CC: Stafford Horne <sho...@gmail.com> > CC: Guan Xuetao <g...@mprc.pku.edu.cn> > CC: Max Filippov <jcmvb...@gmail.com> > CC: qemu-block@nongnu.org > CC: integrat...@gluster.org > CC: sheep...@lists.wpkg.org > CC: qemu-...@nongnu.org > CC: xen-de...@lists.xenproject.org > CC: qemu-...@nongnu.org > CC: qemu-s3...@nongnu.org > CC: qemu-ri...@nongnu.org > > 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 > -- Best regards, Vladimir