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

2020-01-30 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy  writes:

> Markus, what about this? Should I respin?

I still haven't looked at this, must be frustrating for you, sorry!
I've been under water ever since my Christmas vacation...  If you rather
want me to look at a v7 that addresses the review comments from others,
then go ahead and respin.


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

2020-01-30 Thread Vladimir Sementsov-Ogievskiy

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://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 '/^$/,/^$/{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(-)
  

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

2020-01-10 Thread no-reply
Patchew URL: 
https://patchew.org/QEMU/20200110194158.14190-1-vsement...@virtuozzo.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [Xen-devel] [PATCH v6 00/11] error: auto propagated local_err part I
Type: series
Message-id: 20200110194158.14190-1-vsement...@virtuozzo.com

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Switched to a new branch 'test'
fee0dd2 xen: introduce ERRP_AUTO_PROPAGATE
9074b45 nbd: introduce ERRP_AUTO_PROPAGATE
05632cb TPM: introduce ERRP_AUTO_PROPAGATE
2a019cd virtio-9p: introduce ERRP_AUTO_PROPAGATE
b4e0525 fw_cfg: introduce ERRP_AUTO_PROPAGATE
3a69800 pflash: introduce ERRP_AUTO_PROPAGATE
f4ac870 SD (Secure Card): introduce ERRP_AUTO_PROPAGATE
29fbc1d hw/sd/ssi-sd: fix error handling in ssi_sd_realize
6ebc57a scripts: add coccinelle script to use auto propagated errp
477b9ec error: auto propagated local_err
0c38914 qapi/error: add (Error **errp) cleaning APIs

=== OUTPUT BEGIN ===
1/11 Checking commit 0c389147591a (qapi/error: add (Error **errp) cleaning APIs)
2/11 Checking commit 477b9ec03898 (error: auto propagated local_err)
ERROR: Macros with multiple statements should be enclosed in a do - while loop
#138: FILE: include/qapi/error.h:428:
+#define ERRP_AUTO_PROPAGATE()  \
+g_auto(ErrorPropagator) _auto_errp_prop = {.errp = errp};  \
+errp = ((errp == NULL || *errp == error_fatal) \
+? &_auto_errp_prop.local_err : errp)

total: 1 errors, 0 warnings, 102 lines checked

Patch 2/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

3/11 Checking commit 6ebc57a94cf0 (scripts: add coccinelle script to use auto 
propagated errp)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#25: 
new file mode 100644

total: 0 errors, 1 warnings, 148 lines checked

Patch 3/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/11 Checking commit 29fbc1d61eb1 (hw/sd/ssi-sd: fix error handling in 
ssi_sd_realize)
5/11 Checking commit f4ac87065f2c (SD (Secure Card): introduce 
ERRP_AUTO_PROPAGATE)
6/11 Checking commit 3a69800331a4 (pflash: introduce ERRP_AUTO_PROPAGATE)
7/11 Checking commit b4e0525d3dcf (fw_cfg: introduce ERRP_AUTO_PROPAGATE)
8/11 Checking commit 2a019cd1f992 (virtio-9p: introduce ERRP_AUTO_PROPAGATE)
9/11 Checking commit 05632cbe2d39 (TPM: introduce ERRP_AUTO_PROPAGATE)
10/11 Checking commit 9074b450cb34 (nbd: introduce ERRP_AUTO_PROPAGATE)
11/11 Checking commit fee0dd26ea0b (xen: introduce ERRP_AUTO_PROPAGATE)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200110194158.14190-1-vsement...@virtuozzo.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-de...@redhat.com
___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH v6 00/11] error: auto propagated local_err part I

2020-01-10 Thread Vladimir Sementsov-Ogievskiy
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 '/^$/,/^$/{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 
CC: Eric Blake 
CC: Kevin Wolf 
CC: Max Reitz 
CC: Greg Kurz 
CC: Stefan