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);
}
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);
}
const char *devname);
int qemuMonitorChangeMedia(qemuMonitorPtr mon,
const char *devname,
- const char *newmedia);
+ const char *newmedia,
+ const char *format);
int qemuMonitorSaveVirtualMemory(qemuMonitorPtr mon,
int qemuMonitorTextChangeMedia(qemuMonitorPtr mon,
const char *devname,
- const char *newmedia)
+ const char *newmedia,
+ const char *format ATTRIBUTE_UNUSED)
{
char *cmd = NULL;
char *reply = NULL;
}
int qemuMonitorTextMigrateToUnix(qemuMonitorPtr mon,
- int background,
- const char *unixfile)
+ int background,
+ const char *unixfile)
{
char *dest = NULL;
int ret = -1;
const char *devname);
int qemuMonitorTextChangeMedia(qemuMonitorPtr mon,
const char *devname,
- const char *newmedia);
+ const char *newmedia,
+ const char *format);
int qemuMonitorTextSaveVirtualMemory(qemuMonitorPtr mon,