Hi,

In this version the most notable changes are additional cleanups/fixes
patches that precedes the introduction of the new DEVICE_UNPLUG_ERROR
API, and the change of DEVICE_UNPLUG_ERROR to behave more in line
with DEVICE_DELETED, as suggested by Markus.

This is how the new event looks like:

{"execute": "device_del", "arguments": {"id": "core1"} }
{"return": {}}
{"timestamp": {"seconds": 1626117386, "microseconds": 182215},
 "event": "DEVICE_UNPLUG_ERROR",
 "data": {"device": "core1",
          "msg": "Device hotunplug rejected by the guest for device core1",
          "path": "/machine/peripheral/core1"}}  

I kept the 'msg' element since both MEM_UNPLUG_ERROR callers provides a
reason for the failed unplug. This element works like 'device' and it's
provided if available.


changes from v4:
- patch 1 (new):
  * avoid emitting MEM_UNPLUG_ERROR when dev->id == NULL in
memory_hotplug.c
- patch 2 (new):
  * avoid emitting MEM_UNPLUG_ERROR when dev->id == NULL in
spapr.c
- patch 3 (new):
  * do not error_report() when drc->dev->id == NULL
- patch 4 (new):
  * update DEVICE_DELETED API docs
- patch 5 (former 1):
  * added 2 spaces after each sentence
  * appended "Some errors cannot be detected." in DEVICE_UNPLUG_ERROR
docs
  * changed release from 6.1 to 6.2 in docs
  * changed DEVICE_UNPLUG_ERROR API to behave more like device_deleted
- patches 6 and 7:
  * changed to use the new DEVICE_UNPLUG_ERROR API
- v4 link: https://lists.gnu.org/archive/html/qemu-devel/2021-07/msg01355.html

changes from v3:
- patch 1:
  * fixed format
- all patches:
  * rebased with master
  * added David's R-b
- v3 link: https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg05842.html

changes from v2:
- patch 1:
  * moved DEVICE_UNPLUG_ERROR declaration to qapi/qdev.json
  * updated 'device_del' description
  * added 'deprecated' notice on MEM_UNPLUG_ERROR
  * added MEM_UNPLUG_ERROR 'deprecated' info in docs/system/deprecated.rst
- patch 2:
  * send both MEM_UNPLUG_ERROR and DEVICE_UNPLUG_ERROR
- patch 3 (new):
  * send DEVICE_UNPLUG_ERROR in acpi/memory_hotplug.c
- v2 link: https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg01304.html

changes from v1:
- former patches 1 and 2: dropped
- patch 1 (former 3): changed the version to '6.1'
- patch 2 (former 4): add a DEVICE_UNPLUG_ERROR event in the device
  unplug error path of CPUs and DIMMs
- v1 link: https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg04682.html

Daniel Henrique Barboza (7):
  hw/acpi/memory_hotplug.c: avoid sending MEM_UNPLUG_ERROR if dev->id is
    NULL
  spapr.c: avoid sending MEM_UNPLUG_ERROR if dev->id is NULL
  spapr_drc.c: do not error_report() when drc->dev->id == NULL
  qapi/qdev.json: fix DEVICE_DELETED parameters doc
  qapi/qdev.json: add DEVICE_UNPLUG_ERROR QAPI event
  spapr: use DEVICE_UNPLUG_ERROR to report unplug errors
  memory_hotplug.c: send DEVICE_UNPLUG_ERROR in
    acpi_memory_hotplug_write()

 docs/system/deprecated.rst | 10 ++++++++++
 hw/acpi/memory_hotplug.c   | 19 +++++++++++++++++--
 hw/ppc/spapr.c             | 17 +++++++++++++----
 hw/ppc/spapr_drc.c         | 20 ++++++++++++++------
 qapi/machine.json          |  6 +++++-
 qapi/qdev.json             | 34 +++++++++++++++++++++++++++++++---
 stubs/qdev.c               |  7 +++++++
 7 files changed, 97 insertions(+), 16 deletions(-)

-- 
2.31.1


Reply via email to