Commit 24b699fb authored by Wenchao Xia's avatar Wenchao Xia Committed by Luiz Capitulino
Browse files

qapi event: convert DEVICE_DELETED

parent 99eaf09c
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
@@ -168,24 +168,6 @@ Example:
Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
event.

DEVICE_DELETED
--------------

Emitted whenever the device removal completion is acknowledged
by the guest.
At this point, it's safe to reuse the specified device ID.
Device removal can be initiated by the guest or by HMP/QMP commands.

Data:

- "device": device name (json-string, optional)
- "path": device path (json-string)

{ "event": "DEVICE_DELETED",
  "data": { "device": "virtio-net-pci-0",
            "path": "/machine/peripheral/virtio-net-pci-0" },
  "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

DEVICE_TRAY_MOVED
-----------------

+2 −10
Original line number Diff line number Diff line
@@ -32,9 +32,9 @@
#include "qapi/qmp/qerror.h"
#include "qapi/visitor.h"
#include "qapi/qmp/qjson.h"
#include "monitor/monitor.h"
#include "hw/hotplug.h"
#include "hw/boards.h"
#include "qapi-event.h"

int qdev_hotplug = 0;
static bool qdev_hot_added = false;
@@ -972,7 +972,6 @@ static void device_unparent(Object *obj)
{
    DeviceState *dev = DEVICE(obj);
    BusState *bus;
    QObject *event_data;
    bool have_realized = dev->realized;

    if (dev->realized) {
@@ -992,14 +991,7 @@ static void device_unparent(Object *obj)
    if (have_realized) {
        gchar *path = object_get_canonical_path(OBJECT(dev));

        if (dev->id) {
            event_data = qobject_from_jsonf("{ 'device': %s, 'path': %s }",
                                            dev->id, path);
        } else {
            event_data = qobject_from_jsonf("{ 'path': %s }", path);
        }
        monitor_protocol_event(QEVENT_DEVICE_DELETED, event_data);
        qobject_decref(event_data);
        qapi_event_send_device_deleted(!!dev->id, dev->id, path, &error_abort);
        g_free(path);
    }
}
+16 −0
Original line number Diff line number Diff line
@@ -106,3 +106,19 @@
##
{ 'event': 'WATCHDOG',
  'data': { 'action': 'WatchdogExpirationAction' } }

##
# @DEVICE_DELETED
#
# Emitted whenever the device removal completion is acknowledged by the guest.
# At this point, it's safe to reuse the specified device ID. Device removal can
# be initiated by the guest or by HMP/QMP commands.
#
# @device: #optional, device name
#
# @path: device path
#
# Since: 1.5
##
{ 'event': 'DEVICE_DELETED',
  'data': { '*device': 'str', 'path': 'str' } }