Commit ab2d0531 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Luiz Capitulino
Browse files

monitor: add object-del (QMP) and object_del (HMP) command



These two commands invoke the "unparent" method of Object.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarIgor Mammedov <imammedo@redhat.com>
Tested-by: default avatarIgor Mammedov <imammedo@redhat.com>
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
parent b0ed5e9f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1241,6 +1241,20 @@ STEXI
@item netdev_del
@findex netdev_del
Remove host network device.
ETEXI

    {
        .name       = "object_del",
        .args_type  = "id:s",
        .params     = "id",
        .help       = "destroy QOM object",
        .mhandler.cmd = hmp_object_del,
    },

STEXI
@item object_del
@findex object_del
Destroy QOM object.
ETEXI

#ifdef CONFIG_SLIRP
+9 −0
Original line number Diff line number Diff line
@@ -1574,3 +1574,12 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)

    hmp_handle_error(mon, &err);
}

void hmp_object_del(Monitor *mon, const QDict *qdict)
{
    const char *id = qdict_get_str(qdict, "id");
    Error *err = NULL;

    qmp_object_del(id, &err);
    hmp_handle_error(mon, &err);
}
+1 −0
Original line number Diff line number Diff line
@@ -90,5 +90,6 @@ void hmp_chardev_add(Monitor *mon, const QDict *qdict);
void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
void hmp_qemu_io(Monitor *mon, const QDict *qdict);
void hmp_cpu_add(Monitor *mon, const QDict *qdict);
void hmp_object_del(Monitor *mon, const QDict *qdict);

#endif
+14 −0
Original line number Diff line number Diff line
@@ -2758,6 +2758,20 @@
##
{ 'command': 'netdev_del', 'data': {'id': 'str'} }

##
# @object-del:
#
# Remove a QOM object.
#
# @id: the name of the QOM object to remove
#
# Returns: Nothing on success
#          Error if @id is not a valid id for a QOM object
#
# Since: 2.0
##
{ 'command': 'object-del', 'data': {'id': 'str'} }

##
# @NetdevNoneOptions
#
+25 −0
Original line number Diff line number Diff line
@@ -878,6 +878,31 @@ Example:

EQMP

    {
        .name       = "object-del",
        .args_type  = "id:s",
        .mhandler.cmd_new = qmp_marshal_input_object_del,
    },

SQMP
object-del
----------

Remove QOM object.

Arguments:

- "id": the object's ID (json-string)

Example:

-> { "execute": "object-del", "arguments": { "id": "rng1" } }
<- { "return": {} }


EQMP


    {
        .name       = "block_resize",
        .args_type  = "device:B,size:o",
Loading