[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 00/11] error: auto propagated local_err part I

From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v6 00/11] error: auto propagated local_err part I
Date: Thu, 30 Jan 2020 15:36:55 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1

Markus, what about this? Should I respin?

10.01.2020 22:41, Vladimir Sementsov-Ogievskiy wrote:
Hi all!

Now, when preparations from
  [RFC v5 000/126] error: auto propagated local_err
  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 

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).

   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
   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 <address@hidden>
CC: Eric Blake <address@hidden>
CC: Kevin Wolf <address@hidden>
CC: Max Reitz <address@hidden>
CC: Greg Kurz <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
CC: Stefano Stabellini <address@hidden>
CC: Anthony Perard <address@hidden>
CC: Paul Durrant <address@hidden>
CC: "Philippe Mathieu-Daudé" <address@hidden>
CC: Laszlo Ersek <address@hidden>
CC: Gerd Hoffmann <address@hidden>
CC: Stefan Berger <address@hidden>
CC: Markus Armbruster <address@hidden>
CC: Michael Roth <address@hidden>
CC: address@hidden
CC: address@hidden

Best regards,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]