From: Stefan Kober Date: Thu, 4 Sep 2025 12:10:33 +0000 (+0200) Subject: ch: add virCHMonitorRemoveDevice function X-Git-Tag: v11.8.0-rc1~74 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f9cd2cf23818c8b90ff355cffcb0704efb149431;p=thirdparty%2Flibvirt.git ch: add virCHMonitorRemoveDevice function The function calls the respective CH API to remove a device of any type from a VM. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober Signed-off-by: Michal Privoznik Reviewed-by: Michal Privoznik --- diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 3389e2ad0b..65dc89cfd1 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -612,6 +612,16 @@ virCHMonitorBuildKeyValueStringJson(char **jsonstr, return 0; } +int virCHMonitorRemoveDevice(virCHMonitor *mon, + const char* device_id) +{ + g_autoptr(virJSONValue) payload = virCHMonitorBuildKeyValueJson("id", device_id); + + VIR_DEBUG("Remove device %s", device_id); + + return virCHMonitorPut(mon, URL_VM_REMOVE_DEVICE, payload, NULL, NULL); +} + static int chMonitorCreateSocket(const char *socket_path) { diff --git a/src/ch/ch_monitor.h b/src/ch/ch_monitor.h index dd6a21ce60..e3fde06f88 100644 --- a/src/ch/ch_monitor.h +++ b/src/ch/ch_monitor.h @@ -41,6 +41,7 @@ #define URL_VM_SAVE "vm.snapshot" #define URL_VM_RESTORE "vm.restore" #define URL_VM_ADD_DISK "vm.add-disk" +#define URL_VM_REMOVE_DEVICE "vm.remove-device" #define VIRCH_THREAD_NAME_LEN 16 @@ -143,6 +144,9 @@ int virCHMonitorAddDisk(virCHMonitor* mon, virDomainDiskDef *diskdef); +int virCHMonitorRemoveDevice(virCHMonitor *mon, + const char* device_id); + int virCHMonitorBuildRestoreJson(virDomainDef *vmdef, const char *from, char **jsonstr);