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:
Daniel P. Berrange 2009-11-26 13:48:17 +00:00
parent 3fa3cff73c
commit 8c12b20c61
5 changed files with 21 additions and 10 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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,

View File

@ -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;

View File

@ -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,