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

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


  • To: qemu-devel@xxxxxxxxxx
  • From: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx>
  • Date: Thu, 30 Jan 2020 15:36:55 +0300
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TASeDtrRQB4DG+rVrEMe/FHM4VsQd3A4+c/ktE0VF6A=; b=RvEoaLxl8HNIgVJBhKblQQhPerZC8Uu6KOkK29nI1CAocn11guHO6ZdTnpciH8h9faCu0GVEfo9l/siUUeK278udUMi1ggjhRVQKLIRlrkRsqDYBTH281mZbqNKlNOkvodPifaUJYeIhRLC1nyYnUKBsgzq6lx0EZIwHLE6kMqxzT9OxcxzrBs7cTQpzLosZwz46eqv0T4sHwq6pIqp/RCy7Sb3fWTXs95aoV9fkwG+hssA7fFY39JoSSZDOIX6bsqYWLXLWRLWcANPZV61CIwXlkLIv8Q1v1oGkdImgB60rK7LdHN0vqHVOhM52bpEGFAJiNXkqKEC/24/8v0Ny8g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RkLRJNyEcEvz6cQBPpjG2t3G9ijsnHP+AYQPXiZx9zZ/P1rrEOSMbMI4FnAEENIB6uBkRPojpaOlEq4qwPk4nGt2XQyKwqLa2O97WtM2wyDAcpXPsM8gN77fcjpVJYsN3cCMGL4X3ePdimPIPfOjaAuctmHKf+EsFU7NNr43xU7g1/SftgYBqqoPo3eoR7+F7fzmyV5VbgSvhVFCLe1V7YdGqxg2jBeRrTFe6jW4crsn0CN5YUe1esMAUiEHrv6l7ReHdYlG7PMaa2dR9z8YQ0mcLaAMPNmXAppr5vsdinM1KqXGlrMSFN008cHRPVVNEpBYZ5w9P4k0umakr8koLw==
  • Authentication-results: spf=none (sender IP is ) smtp.mailfrom=vsementsov@xxxxxxxxxxxxx;
  • Cc: Kevin Wolf <kwolf@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Laszlo Ersek <lersek@xxxxxxxxxx>, qemu-block@xxxxxxxxxx, Paul Durrant <paul@xxxxxxx>, Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>, Cornelia Huck <cohuck@xxxxxxxxxx>, Greg Kurz <groug@xxxxxxxx>, Max Reitz <mreitz@xxxxxxxxxx>, Gerd Hoffmann <kraxel@xxxxxxxxxx>, Stefan Hajnoczi <stefanha@xxxxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Eric Blake <eblake@xxxxxxxxxx>, Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>, Markus Armbruster <armbru@xxxxxxxxxx>, Stefan Berger <stefanb@xxxxxxxxxxxxx>
  • Delivery-date: Thu, 30 Jan 2020 12:37:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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 '/^<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@xxxxxxxxxx>
CC: Eric Blake <eblake@xxxxxxxxxx>
CC: Kevin Wolf <kwolf@xxxxxxxxxx>
CC: Max Reitz <mreitz@xxxxxxxxxx>
CC: Greg Kurz <groug@xxxxxxxx>
CC: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Anthony Perard <anthony.perard@xxxxxxxxxx>
CC: Paul Durrant <paul@xxxxxxx>
CC: "Philippe Mathieu-Daudé" <philmd@xxxxxxxxxx>
CC: Laszlo Ersek <lersek@xxxxxxxxxx>
CC: Gerd Hoffmann <kraxel@xxxxxxxxxx>
CC: Stefan Berger <stefanb@xxxxxxxxxxxxx>
CC: Markus Armbruster <armbru@xxxxxxxxxx>
CC: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
CC: qemu-block@xxxxxxxxxx
CC: xen-devel@xxxxxxxxxxxxxxxxxxxx



--
Best regards,
Vladimir

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.