All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 00/10] error: auto propagated local_err part I
@ 2020-03-06  5:15 ` Vladimir Sementsov-Ogievskiy
  0 siblings, 0 replies; 77+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2020-03-06  5:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, vsementsov, Laszlo Ersek, qemu-block, Paul Durrant,
	Philippe Mathieu-Daudé,
	Christian Schoenebeck, Greg Kurz, armbru, Stefano Stabellini,
	Gerd Hoffmann, Stefan Hajnoczi, Anthony Perard, xen-devel,
	Max Reitz, Michael Roth, Stefan Berger

File with errp-cleaning APIs dropped for two reasons:

1. I'm tired after a 3-days war with coccinelle, and don't want to add more
   patches here.

2. Markus noted, that we forget two more functions which needs such wrappers
   and corresponding conversion, so seems better to handle all these things
   in same manner for now.

changes in v8:

01: - update comments
    - fix bug in macro [Markus]
    - use do {} while(0)

02: a lot of changes
    - about error propagation: try to update only patterns where we propagate
      local_error to errp. So, patches 09 and 10 changed (wow!)
    - Now clearing functions are not defined. Still, do the conversion, so
      that when script applied where these functions needed, compilation will
      be broken.
    - improve ordering of hunks, and comment everything

09,10: drop hunks, which are converted for nothing.

v8 is available at
 https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-partI-v8
v7 is available at
 https://src.openvz.org/scm/~vsementsov/qemu.git #tag up-auto-local-err-partI-v7
 
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 (10):
  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                          | 206 +++++++++++++---
 block/nbd.c                                   |  21 +-
 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                              |  92 +++----
 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 | 231 ++++++++++++++++++
 24 files changed, 617 insertions(+), 281 deletions(-)
 create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci

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: Christian Schoenebeck <qemu_oss@crudebyte.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
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: qemu-devel@nongnu.org
Cc: xen-devel@lists.xenproject.org

-- 
2.21.0



^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, other threads:[~2020-03-12  7:43 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06  5:15 [PATCH v8 00/10] error: auto propagated local_err part I Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 01/10] error: auto propagated local_err Vladimir Sementsov-Ogievskiy
2020-03-06  5:15   ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06  8:55   ` Paul Durrant
2020-03-06  8:55     ` [Xen-devel] " Paul Durrant
2020-03-06 10:28   ` Greg Kurz
2020-03-06 10:28     ` [Xen-devel] " Greg Kurz
2020-03-06 11:02   ` Alberto Garcia
2020-03-06 11:02     ` [Xen-devel] " Alberto Garcia
2020-03-06 12:37   ` Eric Blake
2020-03-06 12:37     ` [Xen-devel] " Eric Blake
2020-03-06 13:00     ` Vladimir Sementsov-Ogievskiy
2020-03-06 13:00       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 02/10] scripts: add coccinelle script to use auto propagated errp Vladimir Sementsov-Ogievskiy
2020-03-06  5:15   ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06 12:43   ` Eric Blake
2020-03-06 12:43     ` [Xen-devel] " Eric Blake
2020-03-08 19:09   ` Christian Schoenebeck
2020-03-08 19:09     ` [Xen-devel] " Christian Schoenebeck
2020-03-10  6:47     ` Vladimir Sementsov-Ogievskiy
2020-03-10  6:47       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-09  9:56   ` Markus Armbruster
2020-03-09  9:56     ` [Xen-devel] " Markus Armbruster
2020-03-10  7:44     ` Vladimir Sementsov-Ogievskiy
2020-03-10  7:44       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-10 15:47       ` Markus Armbruster
2020-03-10 15:47         ` [Xen-devel] " Markus Armbruster
2020-03-11  6:55         ` Vladimir Sementsov-Ogievskiy
2020-03-11  6:55           ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  8:32           ` Vladimir Sementsov-Ogievskiy
2020-03-11  8:32             ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  9:04           ` Markus Armbruster
2020-03-11  9:04             ` [Xen-devel] " Markus Armbruster
2020-03-11  9:16             ` Vladimir Sementsov-Ogievskiy
2020-03-11  9:16               ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  8:29     ` Vladimir Sementsov-Ogievskiy
2020-03-11  8:29       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  9:38       ` Markus Armbruster
2020-03-11  9:38         ` [Xen-devel] " Markus Armbruster
2020-03-11 14:05         ` Vladimir Sementsov-Ogievskiy
2020-03-11 14:05           ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11 14:41           ` Markus Armbruster
2020-03-11 14:41             ` [Xen-devel] " Markus Armbruster
2020-03-11 14:46             ` Vladimir Sementsov-Ogievskiy
2020-03-11 14:46               ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-12  7:23               ` Markus Armbruster
2020-03-12  7:23                 ` [Xen-devel] " Markus Armbruster
2020-03-12  7:42                 ` Vladimir Sementsov-Ogievskiy
2020-03-12  7:42                   ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  8:35     ` Vladimir Sementsov-Ogievskiy
2020-03-11  8:35       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  9:33       ` Markus Armbruster
2020-03-11  9:33         ` [Xen-devel] " Markus Armbruster
2020-03-11  9:49         ` Vladimir Sementsov-Ogievskiy
2020-03-11  9:49           ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-11  9:53   ` Markus Armbruster
2020-03-11  9:53     ` [Xen-devel] " Markus Armbruster
2020-03-11 10:11     ` Vladimir Sementsov-Ogievskiy
2020-03-11 10:11       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 03/10] hw/sd/ssi-sd: fix error handling in ssi_sd_realize Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 04/10] SD (Secure Card): introduce ERRP_AUTO_PROPAGATE Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 05/10] pflash: " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 06/10] fw_cfg: " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 07/10] virtio-9p: " Vladimir Sementsov-Ogievskiy
2020-03-08 18:55   ` Christian Schoenebeck
2020-03-06  5:15 ` [PATCH v8 08/10] TPM: " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15 ` [PATCH v8 09/10] nbd: " Vladimir Sementsov-Ogievskiy
2020-03-06 12:45   ` Eric Blake
2020-03-06  5:15 ` [PATCH v8 10/10] xen: " Vladimir Sementsov-Ogievskiy
2020-03-06  5:15   ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06  9:12   ` Paul Durrant
2020-03-06  9:12     ` [Xen-devel] " Paul Durrant
2020-03-06  9:18     ` Vladimir Sementsov-Ogievskiy
2020-03-06  9:18       ` [Xen-devel] " Vladimir Sementsov-Ogievskiy
2020-03-06 15:21 ` [PATCH v8 00/10] error: auto propagated local_err part I Markus Armbruster
2020-03-06 15:21   ` [Xen-devel] " Markus Armbruster

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.