Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> writes: > Hi all! > > 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]
How is this series related to Greg's "[PATCH 00/17] Fix usage of error_append_hint()"? Do we need both? > 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] > > Still, applying new macro to all errp-functions is a huge task, which is > impossible to solve in one series. > > So, here is a minimum: solve only [1.], by adding new macro to all > errp-functions which wants to call error_append_hint. > > v4; > 02: - check errp to be not NULL > - drop Eric's r-b > 03: add Eric's r-b > 04: - rename macro to ERRP_AUTO_PROPAGATE [Kevin] > - improve comment and commit msg, mention > error_prepend > 05: - handle error_prepend too > - use new macro name > - drop empty line at the end > > commit message for auto-generated commits updated, > commits regenerated. > > I'll use cc-cmd to cc appropriate recipients per patch, still > cover-letter together with 04-06 patches should be interesting for > all: [...] Big series; let me guess its structure. > Vladimir Sementsov-Ogievskiy (31): > errp: rename errp to errp_in where it is IN-argument > hw/core/loader-fit: fix freeing errp in fit_load_fdt > net/net: fix local variable shadowing in net_client_init Preparations. > error: auto propagated local_err The new idea. > scripts: add script to fix error_append_hint/error_prepend usage > python: add commit-per-subsystem.py Scripts to help you apply it. > s390: Fix error_append_hint/error_prepend usage > ARM TCG CPUs: Fix error_append_hint/error_prepend usage > PowerPC TCG CPUs: Fix error_append_hint/error_prepend usage > arm: Fix error_append_hint/error_prepend usage > SmartFusion2: Fix error_append_hint/error_prepend usage > ASPEED BMCs: Fix error_append_hint/error_prepend usage > Boston: Fix error_append_hint/error_prepend usage > PowerNV (Non-Virtualized): Fix error_append_hint/error_prepend usage > PCI: Fix error_append_hint/error_prepend usage > SCSI: Fix error_append_hint/error_prepend usage > USB: Fix error_append_hint/error_prepend usage > VFIO: Fix error_append_hint/error_prepend usage > vhost: Fix error_append_hint/error_prepend usage > virtio: Fix error_append_hint/error_prepend usage > virtio-9p: Fix error_append_hint/error_prepend usage > XIVE: Fix error_append_hint/error_prepend usage > block: Fix error_append_hint/error_prepend usage > chardev: Fix error_append_hint/error_prepend usage > cmdline: Fix error_append_hint/error_prepend usage > QOM: Fix error_append_hint/error_prepend usage > Migration: Fix error_append_hint/error_prepend usage > Sockets: Fix error_append_hint/error_prepend usage > nbd: Fix error_append_hint/error_prepend usage > PVRDMA: Fix error_append_hint/error_prepend usage > ivshmem: Fix error_append_hint/error_prepend usage Applying it. Correct? [...]