[PATCH 00/21] qapi: Kill 'qapi/qmp/qerror.h' for good

Philippe Mathieu-Daudé posted 21 patches 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231004173158.42591-1-philmd@linaro.org
Maintainers: "Gonglei (Arei)" <arei.gonglei@huawei.com>, Zhenwei Pi <pizhenwei@bytedance.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Alberto Garcia <berto@igalia.com>, Fam Zheng <fam@euphon.net>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Gerd Hoffmann <kraxel@redhat.com>, Markus Armbruster <armbru@redhat.com>, Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Leonardo Bras <leobras@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, Jason Wang <jasowang@redhat.com>, Michael Roth <michael.roth@amd.com>, Konstantin Kostiuk <kkostiuk@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, David Hildenbrand <david@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Peter Maydell <peter.maydell@linaro.org>, Thomas Huth <thuth@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>
There is a newer version of this series
qga/qapi-schema.json             |  5 +-
include/qapi/qmp/qerror.h        | 62 --------------------
backends/cryptodev-vhost-user.c  |  5 +-
backends/dbus-vmstate.c          |  3 +-
backends/rng-egd.c               |  5 +-
backends/rng-random.c            |  4 +-
block/gluster.c                  | 22 +++----
block/monitor/block-hmp-cmds.c   |  7 +--
block/quorum.c                   |  4 +-
block/snapshot.c                 |  5 +-
block/vmdk.c                     |  9 ++-
blockdev.c                       | 16 +++---
blockjob.c                       |  4 +-
chardev/char-fe.c                |  3 +-
chardev/char.c                   |  4 +-
dump/dump.c                      | 11 ++--
dump/win_dump.c                  |  5 +-
hw/core/qdev-properties-system.c |  6 +-
hw/core/qdev-properties.c        |  3 +-
hw/core/qdev.c                   |  4 +-
hw/intc/openpic.c                |  4 +-
hw/ppc/spapr_pci.c               |  5 +-
hw/usb/redirect.c                |  7 +--
migration/migration.c            |  7 +--
migration/options.c              | 99 +++++++++++++-------------------
migration/page_cache.c           |  9 ++-
migration/ram.c                  |  5 +-
migration/savevm.c               |  7 +--
monitor/fds.c                    |  9 ++-
monitor/hmp-cmds.c               |  3 +-
monitor/qmp-cmds.c               |  4 +-
net/filter-buffer.c              |  4 +-
net/filter.c                     |  8 +--
net/net.c                        | 10 ++--
qapi/opts-visitor.c              | 12 ++--
qapi/qapi-forward-visitor.c      |  3 +-
qapi/qapi-util.c                 |  4 +-
qapi/qapi-visit-core.c           |  5 +-
qapi/qobject-input-visitor.c     | 53 ++++++++---------
qapi/string-input-visitor.c      | 27 ++++-----
qga/commands-bsd.c               |  9 ++-
qga/commands-posix.c             | 47 ++++++++-------
qga/commands-win32.c             | 65 ++++++++++-----------
qga/commands.c                   | 10 ++--
qom/object.c                     | 16 ++++--
qom/object_interfaces.c          |  3 +-
qom/qom-qmp-cmds.c               |  8 +--
softmmu/balloon.c                |  3 +-
softmmu/cpus.c                   |  8 +--
softmmu/qdev-monitor.c           | 24 ++++----
softmmu/rtc.c                    |  1 -
softmmu/tpm.c                    |  8 +--
softmmu/vl.c                     |  5 +-
target/arm/arm-qmp-cmds.c        |  4 +-
target/i386/cpu.c                | 15 +++--
target/s390x/cpu_models_sysemu.c |  4 +-
ui/input-barrier.c               |  3 +-
ui/ui-qmp-cmds.c                 |  7 +--
util/block-helpers.c             |  4 +-
util/qemu-option.c               | 21 ++++---
scripts/qapi/visit.py            |  5 +-
61 files changed, 305 insertions(+), 437 deletions(-)
delete mode 100644 include/qapi/qmp/qerror.h
[PATCH 00/21] qapi: Kill 'qapi/qmp/qerror.h' for good
Posted by Philippe Mathieu-Daudé 7 months ago
Hi,

This is kind of a selfish series. I'm really tired to grep
and read this comment from 2015 in qapi/qmp/qerror.h:
      /*
       * These macros will go away, please don't use
       * in new code, and do not add new ones!
       */

Besides, these definitions are still added in recent code
(see for example commit 09f9ec9913 from June 2023). So
let's finish with this 8 years old technical debt.

Overall it took me 3h: 1h to find the correct Coccinelle
doc about Python use and read it again [*], then 1h to
adapt the script for each patch, rest is testing and
writing comments, so the scripts used could be used as
reference later.

Regards,

Phil.

[*] https://www.lrz.de/services/compute/courses/x_lecturenotes/hspc1w19.pdf

Philippe Mathieu-Daudé (21):
  qapi: Inline and remove QERR_BUS_NO_HOTPLUG definition
  qapi: Inline and remove QERR_DEVICE_HAS_NO_MEDIUM definition
  qapi: Inline and remove QERR_DEVICE_IN_USE definition
  qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition
  qapi: Inline QERR_INVALID_PARAMETER definition (constant parameter)
  qapi: Inline and remove QERR_INVALID_PARAMETER definition
  qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant param)
  qapi: Inline QERR_INVALID_PARAMETER_TYPE definition (constant value)
  qapi: Inline and remove QERR_INVALID_PARAMETER_TYPE definition
  qapi: Inline QERR_INVALID_PARAMETER_VALUE definition (constant value)
  qapi: Inline QERR_INVALID_PARAMETER_VALUE definition (constant param)
  qapi: Inline and remove QERR_INVALID_PARAMETER_VALUE definition
  qapi: Inline and remove QERR_IO_ERROR definition
  qapi: Inline and remove QERR_MIGRATION_ACTIVE definition
  qapi: Inline QERR_MISSING_PARAMETER definition (constant parameter)
  qapi: Inline and remove QERR_MISSING_PARAMETER definition
  qapi: Inline and remove QERR_PROPERTY_VALUE_BAD definition
  qapi: Inline and remove QERR_PROPERTY_VALUE_OUT_OF_RANGE definition
  qapi: Inline and remove QERR_QGA_COMMAND_FAILED  definition
  RFC qapi: Inline and remove QERR_UNSUPPORTED definition
  qapi: Remove 'qapi/qmp/qerror.h' header

 qga/qapi-schema.json             |  5 +-
 include/qapi/qmp/qerror.h        | 62 --------------------
 backends/cryptodev-vhost-user.c  |  5 +-
 backends/dbus-vmstate.c          |  3 +-
 backends/rng-egd.c               |  5 +-
 backends/rng-random.c            |  4 +-
 block/gluster.c                  | 22 +++----
 block/monitor/block-hmp-cmds.c   |  7 +--
 block/quorum.c                   |  4 +-
 block/snapshot.c                 |  5 +-
 block/vmdk.c                     |  9 ++-
 blockdev.c                       | 16 +++---
 blockjob.c                       |  4 +-
 chardev/char-fe.c                |  3 +-
 chardev/char.c                   |  4 +-
 dump/dump.c                      | 11 ++--
 dump/win_dump.c                  |  5 +-
 hw/core/qdev-properties-system.c |  6 +-
 hw/core/qdev-properties.c        |  3 +-
 hw/core/qdev.c                   |  4 +-
 hw/intc/openpic.c                |  4 +-
 hw/ppc/spapr_pci.c               |  5 +-
 hw/usb/redirect.c                |  7 +--
 migration/migration.c            |  7 +--
 migration/options.c              | 99 +++++++++++++-------------------
 migration/page_cache.c           |  9 ++-
 migration/ram.c                  |  5 +-
 migration/savevm.c               |  7 +--
 monitor/fds.c                    |  9 ++-
 monitor/hmp-cmds.c               |  3 +-
 monitor/qmp-cmds.c               |  4 +-
 net/filter-buffer.c              |  4 +-
 net/filter.c                     |  8 +--
 net/net.c                        | 10 ++--
 qapi/opts-visitor.c              | 12 ++--
 qapi/qapi-forward-visitor.c      |  3 +-
 qapi/qapi-util.c                 |  4 +-
 qapi/qapi-visit-core.c           |  5 +-
 qapi/qobject-input-visitor.c     | 53 ++++++++---------
 qapi/string-input-visitor.c      | 27 ++++-----
 qga/commands-bsd.c               |  9 ++-
 qga/commands-posix.c             | 47 ++++++++-------
 qga/commands-win32.c             | 65 ++++++++++-----------
 qga/commands.c                   | 10 ++--
 qom/object.c                     | 16 ++++--
 qom/object_interfaces.c          |  3 +-
 qom/qom-qmp-cmds.c               |  8 +--
 softmmu/balloon.c                |  3 +-
 softmmu/cpus.c                   |  8 +--
 softmmu/qdev-monitor.c           | 24 ++++----
 softmmu/rtc.c                    |  1 -
 softmmu/tpm.c                    |  8 +--
 softmmu/vl.c                     |  5 +-
 target/arm/arm-qmp-cmds.c        |  4 +-
 target/i386/cpu.c                | 15 +++--
 target/s390x/cpu_models_sysemu.c |  4 +-
 ui/input-barrier.c               |  3 +-
 ui/ui-qmp-cmds.c                 |  7 +--
 util/block-helpers.c             |  4 +-
 util/qemu-option.c               | 21 ++++---
 scripts/qapi/visit.py            |  5 +-
 61 files changed, 305 insertions(+), 437 deletions(-)
 delete mode 100644 include/qapi/qmp/qerror.h

-- 
2.41.0