On 2015/9/1 17:50, Daniel P. Berrange wrote: > Currently both object_del and device_del require that the > client provide the object/device short ID. While user > creatable objects require an ID to be provided at time of > creation, qdev devices may be created without giving an > ID. The only unique identifier they would then have is the > QOM object path. > > Allowing device_del to accept an object path ensures all > devices are deletable regardless of whether they have an > ID. > > (qemu) device_add usb-mouse > (qemu) qom-list /machine/peripheral-anon > device[0] (child<usb-mouse>) > type (string) > (qemu) device_del /machine/peripheral-anon/device[0] > > Although objects require an ID to be provided upfront, > there may be cases where the client would prefer to > use QOM paths when deleting. > > Devices are required to be marked as hotpluggable > otherwise an error is raised > > (qemu) device_del /machine/unattached/device[4] > Device 'PIIX3' does not support hotplugging > > Similarly objects are required to implement the > user-creatable interface > > (qemu) object_del /machine/unattached/device[4] > /machine/unattached/device[4] is not a user-creatable object > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > > Changed in v3: > > - Add type checks to avoid assertion failures if user > supplied path is not of type device or user-creatable > > hmp-commands.hx | 6 ++++-- > qapi-schema.json | 4 ++-- > qdev-monitor.c | 19 ++++++++++++++----- > qmp-commands.hx | 13 +++++++++++-- > qmp.c | 15 ++++++++++++--- > 5 files changed, 43 insertions(+), 14 deletions(-)
Reviewed-by: Gonglei <arei.gong...@huawei.com> Tested-by: Gonglei <arei.gong...@huawei.com>