mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-16 18:25:08 -06:00
Add a 'format' arg to qemuMonitorChangeMedia() since JSON will support it
The current QEMU disk media change does not support setting the disk format. The new JSON monitor will support this, so add an extra parameter to pass this info in * src/qemu/qemu_driver.c: Pass in disk format when changing media * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Add a 'format' arg to qemuMonitorChangeMedia()
This commit is contained in:
parent
3fa3cff73c
commit
8c12b20c61
@ -4737,7 +4737,14 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn,
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
qemuDomainObjEnterMonitorWithDriver(driver, vm);
|
||||
if (newdisk->src) {
|
||||
ret = qemuMonitorChangeMedia(priv->mon, devname, newdisk->src);
|
||||
const char *format = NULL;
|
||||
if (newdisk->type != VIR_DOMAIN_DISK_TYPE_DIR) {
|
||||
if (newdisk->driverType)
|
||||
format = newdisk->driverType;
|
||||
else if (origdisk->driverType)
|
||||
format = origdisk->driverType;
|
||||
}
|
||||
ret = qemuMonitorChangeMedia(priv->mon, devname, newdisk->src, format);
|
||||
} else {
|
||||
ret = qemuMonitorEjectMedia(priv->mon, devname);
|
||||
}
|
||||
|
@ -776,12 +776,13 @@ int qemuMonitorEjectMedia(qemuMonitorPtr mon,
|
||||
|
||||
int qemuMonitorChangeMedia(qemuMonitorPtr mon,
|
||||
const char *devname,
|
||||
const char *newmedia)
|
||||
const char *newmedia,
|
||||
const char *format)
|
||||
{
|
||||
DEBUG("mon=%p, fd=%d devname=%s newmedia=%s",
|
||||
mon, mon->fd, devname, newmedia);
|
||||
DEBUG("mon=%p, fd=%d devname=%s newmedia=%s format=%s",
|
||||
mon, mon->fd, devname, newmedia, format);
|
||||
|
||||
return qemuMonitorTextChangeMedia(mon, devname, newmedia);
|
||||
return qemuMonitorTextChangeMedia(mon, devname, newmedia, format);
|
||||
}
|
||||
|
||||
|
||||
|
@ -136,7 +136,8 @@ int qemuMonitorEjectMedia(qemuMonitorPtr mon,
|
||||
const char *devname);
|
||||
int qemuMonitorChangeMedia(qemuMonitorPtr mon,
|
||||
const char *devname,
|
||||
const char *newmedia);
|
||||
const char *newmedia,
|
||||
const char *format);
|
||||
|
||||
|
||||
int qemuMonitorSaveVirtualMemory(qemuMonitorPtr mon,
|
||||
|
@ -693,7 +693,8 @@ cleanup:
|
||||
|
||||
int qemuMonitorTextChangeMedia(qemuMonitorPtr mon,
|
||||
const char *devname,
|
||||
const char *newmedia)
|
||||
const char *newmedia,
|
||||
const char *format ATTRIBUTE_UNUSED)
|
||||
{
|
||||
char *cmd = NULL;
|
||||
char *reply = NULL;
|
||||
@ -1016,8 +1017,8 @@ cleanup:
|
||||
}
|
||||
|
||||
int qemuMonitorTextMigrateToUnix(qemuMonitorPtr mon,
|
||||
int background,
|
||||
const char *unixfile)
|
||||
int background,
|
||||
const char *unixfile)
|
||||
{
|
||||
char *dest = NULL;
|
||||
int ret = -1;
|
||||
|
@ -62,7 +62,8 @@ int qemuMonitorTextEjectMedia(qemuMonitorPtr mon,
|
||||
const char *devname);
|
||||
int qemuMonitorTextChangeMedia(qemuMonitorPtr mon,
|
||||
const char *devname,
|
||||
const char *newmedia);
|
||||
const char *newmedia,
|
||||
const char *format);
|
||||
|
||||
|
||||
int qemuMonitorTextSaveVirtualMemory(qemuMonitorPtr mon,
|
||||
|
Loading…
Reference in New Issue
Block a user