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 <stefan.kober@cyberus-technology.de>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Stefan Kober authored and Michal Privoznik committed 2025-09-08 16:40:08 +02:00
1 parent 4ba796ab74
commit f9cd2cf238
2 files changed
+14

No files matched your search

+10
View File
@@ -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)
{
+4
View File
@@ -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);