From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> To: qemu-devel@nongnu.org Cc: "Kevin Wolf" <kwolf@redhat.com>, "Vladimir Sementsov-Ogievskiy" <vsementsov@virtuozzo.com>, "Laszlo Ersek" <lersek@redhat.com>, qemu-block@nongnu.org, "Paul Durrant" <paul@xen.org>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, "Cornelia Huck" <cohuck@redhat.com>, "Greg Kurz" <groug@kaod.org>, "Max Reitz" <mreitz@redhat.com>, "Stefano Stabellini" <sstabellini@kernel.org>, "Gerd Hoffmann" <kraxel@redhat.com>, "Stefan Hajnoczi" <stefanha@redhat.com>, "Anthony Perard" <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, "Michael Roth" <mdroth@linux.vnet.ibm.com>, "Markus Armbruster" <armbru@redhat.com>, "Stefan Berger" <stefanb@linux.ibm.com> Subject: [PATCH v6 00/11] error: auto propagated local_err part I Date: Fri, 10 Jan 2020 22:41:47 +0300 [thread overview] Message-ID: <20200110194158.14190-1-vsementsov@virtuozzo.com> (raw) Hi all! Now, when preparations from [RFC v5 000/126] error: auto propagated local_err https://lists.gnu.org/archive/html/qemu-devel/2019-10/msg02771.html https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-v5 , after some iterations, are finally merged, let's proceed with the rest. Sorry for a big delay on my part. As a first step, I decided to take subsystems, each of them covered by one patch, which get r-b/a-b marks by maintainer of the subsystem in v5. v6 is available at https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-partI-v6 Changes v5->v6: 01: use errp name for the parameter, add assertion 02: add a lot of text information, drop Eric's r-b. no semantic changes. 03: add more comments skip functions with pattern error_append_.*_hint in name make errp identifier, to match any name of Error ** paramter some other improvements 04: only commit message changed, keep Philippe's r-b 05: new, manual update for hw/sd/ssi-sd 06: only commit message changed, keep Philippe's r-b 07: only commit message changed, keep Philippe's r-b 08: local_parse_opts() changed, so patch changed in this function, drop a-b mark also, indentation fixed, by improvement in coccinelle script 09: only commit message changed, keep Stefan's r-b 10: commit message and a bit of context changed, still seems valid to keep Eric's r-b 11: add new hunk: hw/pci-host/xen_igd_pt.c, so, drop r-b also, indentation fixed, by improvement in coccinelle script In these series, there is no commit-per-subsystem script, each generated commit is generated in separate. Still, generating commands are very similar, and looks like sed -n '/^<Subsystem name>$/,/^$/{s/^F: //p}' MAINTAINERS | \ xargs git ls-files | grep '\.[hc]$' | \ xargs spatch \ --sp-file scripts/coccinelle/auto-propagated-errp.cocci \ --macro-file scripts/cocci-macro-file.h \ --in-place --no-show-diff --max-width 80 Note, that in each generated commit, generation command is the only text, indented by 8 spaces in 'git log -1' output, so, to regenerate all commits (for example, after rebase, or change in coccinelle script), you may use the following command: git rebase -x "sh -c \"git show --pretty= --name-only | xargs git checkout HEAD^ -- ; git reset; git log -1 | grep '^ ' | sh\"" HEAD~7 Which will start automated interactive rebase for generated patches, which will stop if generated patch changed (you may do git commit --amend to apply updated generated changes). Note: git show --pretty= --name-only - lists files, changed in HEAD git log -1 | grep '^ ' | sh - rerun generation command of HEAD Check for compilation of changed .c files git rebase -x "sh -c \"git show --pretty= --name-only | sed -n 's/\.c$/.o/p' | xargs make -j9\"" HEAD~7 Vladimir Sementsov-Ogievskiy (11): qapi/error: add (Error **errp) cleaning APIs error: auto propagated local_err scripts: add coccinelle script to use auto propagated errp hw/sd/ssi-sd: fix error handling in ssi_sd_realize SD (Secure Card): introduce ERRP_AUTO_PROPAGATE pflash: introduce ERRP_AUTO_PROPAGATE fw_cfg: introduce ERRP_AUTO_PROPAGATE virtio-9p: introduce ERRP_AUTO_PROPAGATE TPM: introduce ERRP_AUTO_PROPAGATE nbd: introduce ERRP_AUTO_PROPAGATE xen: introduce ERRP_AUTO_PROPAGATE include/block/nbd.h | 1 + include/qapi/error.h | 113 +++++++++++++- block/nbd.c | 49 +++--- hw/9pfs/9p-local.c | 12 +- hw/9pfs/9p.c | 1 + hw/block/dataplane/xen-block.c | 17 +-- hw/block/pflash_cfi01.c | 7 +- hw/block/pflash_cfi02.c | 7 +- hw/block/xen-block.c | 125 +++++++--------- hw/nvram/fw_cfg.c | 14 +- hw/pci-host/xen_igd_pt.c | 7 +- hw/sd/sdhci-pci.c | 7 +- hw/sd/sdhci.c | 21 ++- hw/sd/ssi-sd.c | 26 +++- hw/tpm/tpm_util.c | 7 +- hw/xen/xen-backend.c | 7 +- hw/xen/xen-bus.c | 100 ++++++------- hw/xen/xen-host-pci-device.c | 27 ++-- hw/xen/xen_pt.c | 25 ++-- hw/xen/xen_pt_config_init.c | 20 +-- nbd/client.c | 5 + nbd/server.c | 5 + tpm.c | 7 +- scripts/coccinelle/auto-propagated-errp.cocci | 139 ++++++++++++++++++ 24 files changed, 482 insertions(+), 267 deletions(-) create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci CC: Cornelia Huck <cohuck@redhat.com> CC: Eric Blake <eblake@redhat.com> CC: Kevin Wolf <kwolf@redhat.com> CC: Max Reitz <mreitz@redhat.com> CC: Greg Kurz <groug@kaod.org> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Anthony Perard <anthony.perard@citrix.com> CC: Paul Durrant <paul@xen.org> CC: "Philippe Mathieu-Daudé" <philmd@redhat.com> CC: Laszlo Ersek <lersek@redhat.com> CC: Gerd Hoffmann <kraxel@redhat.com> CC: Stefan Berger <stefanb@linux.ibm.com> CC: Markus Armbruster <armbru@redhat.com> CC: Michael Roth <mdroth@linux.vnet.ibm.com> CC: qemu-block@nongnu.org CC: xen-devel@lists.xenproject.org -- 2.21.0
WARNING: multiple messages have this Message-ID (diff)
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> To: qemu-devel@nongnu.org Cc: "Kevin Wolf" <kwolf@redhat.com>, "Vladimir Sementsov-Ogievskiy" <vsementsov@virtuozzo.com>, "Laszlo Ersek" <lersek@redhat.com>, qemu-block@nongnu.org, "Paul Durrant" <paul@xen.org>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, "Cornelia Huck" <cohuck@redhat.com>, "Greg Kurz" <groug@kaod.org>, "Max Reitz" <mreitz@redhat.com>, "Stefano Stabellini" <sstabellini@kernel.org>, "Gerd Hoffmann" <kraxel@redhat.com>, "Stefan Hajnoczi" <stefanha@redhat.com>, "Anthony Perard" <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, "Eric Blake" <eblake@redhat.com>, "Michael Roth" <mdroth@linux.vnet.ibm.com>, "Markus Armbruster" <armbru@redhat.com>, "Stefan Berger" <stefanb@linux.ibm.com> Subject: [Xen-devel] [PATCH v6 00/11] error: auto propagated local_err part I Date: Fri, 10 Jan 2020 22:41:47 +0300 [thread overview] Message-ID: <20200110194158.14190-1-vsementsov@virtuozzo.com> (raw) Hi all! Now, when preparations from [RFC v5 000/126] error: auto propagated local_err https://lists.gnu.org/archive/html/qemu-devel/2019-10/msg02771.html https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-v5 , after some iterations, are finally merged, let's proceed with the rest. Sorry for a big delay on my part. As a first step, I decided to take subsystems, each of them covered by one patch, which get r-b/a-b marks by maintainer of the subsystem in v5. v6 is available at https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-partI-v6 Changes v5->v6: 01: use errp name for the parameter, add assertion 02: add a lot of text information, drop Eric's r-b. no semantic changes. 03: add more comments skip functions with pattern error_append_.*_hint in name make errp identifier, to match any name of Error ** paramter some other improvements 04: only commit message changed, keep Philippe's r-b 05: new, manual update for hw/sd/ssi-sd 06: only commit message changed, keep Philippe's r-b 07: only commit message changed, keep Philippe's r-b 08: local_parse_opts() changed, so patch changed in this function, drop a-b mark also, indentation fixed, by improvement in coccinelle script 09: only commit message changed, keep Stefan's r-b 10: commit message and a bit of context changed, still seems valid to keep Eric's r-b 11: add new hunk: hw/pci-host/xen_igd_pt.c, so, drop r-b also, indentation fixed, by improvement in coccinelle script In these series, there is no commit-per-subsystem script, each generated commit is generated in separate. Still, generating commands are very similar, and looks like sed -n '/^<Subsystem name>$/,/^$/{s/^F: //p}' MAINTAINERS | \ xargs git ls-files | grep '\.[hc]$' | \ xargs spatch \ --sp-file scripts/coccinelle/auto-propagated-errp.cocci \ --macro-file scripts/cocci-macro-file.h \ --in-place --no-show-diff --max-width 80 Note, that in each generated commit, generation command is the only text, indented by 8 spaces in 'git log -1' output, so, to regenerate all commits (for example, after rebase, or change in coccinelle script), you may use the following command: git rebase -x "sh -c \"git show --pretty= --name-only | xargs git checkout HEAD^ -- ; git reset; git log -1 | grep '^ ' | sh\"" HEAD~7 Which will start automated interactive rebase for generated patches, which will stop if generated patch changed (you may do git commit --amend to apply updated generated changes). Note: git show --pretty= --name-only - lists files, changed in HEAD git log -1 | grep '^ ' | sh - rerun generation command of HEAD Check for compilation of changed .c files git rebase -x "sh -c \"git show --pretty= --name-only | sed -n 's/\.c$/.o/p' | xargs make -j9\"" HEAD~7 Vladimir Sementsov-Ogievskiy (11): qapi/error: add (Error **errp) cleaning APIs error: auto propagated local_err scripts: add coccinelle script to use auto propagated errp hw/sd/ssi-sd: fix error handling in ssi_sd_realize SD (Secure Card): introduce ERRP_AUTO_PROPAGATE pflash: introduce ERRP_AUTO_PROPAGATE fw_cfg: introduce ERRP_AUTO_PROPAGATE virtio-9p: introduce ERRP_AUTO_PROPAGATE TPM: introduce ERRP_AUTO_PROPAGATE nbd: introduce ERRP_AUTO_PROPAGATE xen: introduce ERRP_AUTO_PROPAGATE include/block/nbd.h | 1 + include/qapi/error.h | 113 +++++++++++++- block/nbd.c | 49 +++--- hw/9pfs/9p-local.c | 12 +- hw/9pfs/9p.c | 1 + hw/block/dataplane/xen-block.c | 17 +-- hw/block/pflash_cfi01.c | 7 +- hw/block/pflash_cfi02.c | 7 +- hw/block/xen-block.c | 125 +++++++--------- hw/nvram/fw_cfg.c | 14 +- hw/pci-host/xen_igd_pt.c | 7 +- hw/sd/sdhci-pci.c | 7 +- hw/sd/sdhci.c | 21 ++- hw/sd/ssi-sd.c | 26 +++- hw/tpm/tpm_util.c | 7 +- hw/xen/xen-backend.c | 7 +- hw/xen/xen-bus.c | 100 ++++++------- hw/xen/xen-host-pci-device.c | 27 ++-- hw/xen/xen_pt.c | 25 ++-- hw/xen/xen_pt_config_init.c | 20 +-- nbd/client.c | 5 + nbd/server.c | 5 + tpm.c | 7 +- scripts/coccinelle/auto-propagated-errp.cocci | 139 ++++++++++++++++++ 24 files changed, 482 insertions(+), 267 deletions(-) create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci CC: Cornelia Huck <cohuck@redhat.com> CC: Eric Blake <eblake@redhat.com> CC: Kevin Wolf <kwolf@redhat.com> CC: Max Reitz <mreitz@redhat.com> CC: Greg Kurz <groug@kaod.org> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Anthony Perard <anthony.perard@citrix.com> CC: Paul Durrant <paul@xen.org> CC: "Philippe Mathieu-Daudé" <philmd@redhat.com> CC: Laszlo Ersek <lersek@redhat.com> CC: Gerd Hoffmann <kraxel@redhat.com> CC: Stefan Berger <stefanb@linux.ibm.com> CC: Markus Armbruster <armbru@redhat.com> CC: Michael Roth <mdroth@linux.vnet.ibm.com> CC: qemu-block@nongnu.org CC: xen-devel@lists.xenproject.org -- 2.21.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next reply other threads:[~2020-01-10 19:51 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-10 19:41 Vladimir Sementsov-Ogievskiy [this message] 2020-01-10 19:41 ` [Xen-devel] [PATCH v6 00/11] error: auto propagated local_err part I Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 01/11] qapi/error: add (Error **errp) cleaning APIs Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-15 7:46 ` Greg Kurz 2020-01-15 7:46 ` [Xen-devel] " Greg Kurz 2020-01-17 13:15 ` Eric Blake 2020-01-17 13:15 ` [Xen-devel] " Eric Blake 2020-01-10 19:41 ` [PATCH v6 02/11] error: auto propagated local_err Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-13 8:50 ` Paul Durrant 2020-01-13 8:50 ` [Xen-devel] " Paul Durrant 2020-01-13 9:25 ` Vladimir Sementsov-Ogievskiy 2020-01-13 9:25 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-15 18:33 ` Greg Kurz 2020-01-15 18:33 ` [Xen-devel] " Greg Kurz 2020-01-17 14:18 ` Eric Blake 2020-01-17 14:18 ` [Xen-devel] " Eric Blake 2020-01-10 19:41 ` [PATCH v6 03/11] scripts: add coccinelle script to use auto propagated errp Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-17 14:24 ` Eric Blake 2020-01-17 14:24 ` [Xen-devel] " Eric Blake 2020-01-17 14:50 ` Vladimir Sementsov-Ogievskiy 2020-01-17 14:50 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 04/11] hw/sd/ssi-sd: fix error handling in ssi_sd_realize Vladimir Sementsov-Ogievskiy 2020-01-17 14:26 ` Eric Blake 2020-01-10 19:41 ` [PATCH v6 05/11] SD (Secure Card): introduce ERRP_AUTO_PROPAGATE Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 06/11] pflash: " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 07/11] fw_cfg: " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 08/11] virtio-9p: " Vladimir Sementsov-Ogievskiy 2020-01-13 10:40 ` Greg Kurz 2020-01-10 19:41 ` [PATCH v6 09/11] TPM: " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 10/11] nbd: " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [PATCH v6 11/11] xen: " Vladimir Sementsov-Ogievskiy 2020-01-10 19:41 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-13 8:57 ` Paul Durrant 2020-01-13 8:57 ` [Xen-devel] " Paul Durrant 2020-01-13 9:25 ` Vladimir Sementsov-Ogievskiy 2020-01-13 9:25 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-10 20:22 ` [Xen-devel] [PATCH v6 00/11] error: auto propagated local_err part I no-reply 2020-01-10 20:22 ` no-reply 2020-01-30 12:36 ` Vladimir Sementsov-Ogievskiy 2020-01-30 12:36 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy 2020-01-30 16:50 ` Markus Armbruster 2020-01-30 16:50 ` [Xen-devel] " Markus Armbruster
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200110194158.14190-1-vsementsov@virtuozzo.com \ --to=vsementsov@virtuozzo.com \ --cc=anthony.perard@citrix.com \ --cc=armbru@redhat.com \ --cc=cohuck@redhat.com \ --cc=groug@kaod.org \ --cc=kraxel@redhat.com \ --cc=kwolf@redhat.com \ --cc=lersek@redhat.com \ --cc=mdroth@linux.vnet.ibm.com \ --cc=mreitz@redhat.com \ --cc=paul@xen.org \ --cc=philmd@redhat.com \ --cc=qemu-block@nongnu.org \ --cc=qemu-devel@nongnu.org \ --cc=sstabellini@kernel.org \ --cc=stefanb@linux.ibm.com \ --cc=stefanha@redhat.com \ --cc=xen-devel@lists.xenproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.