if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
- blockinfo = qemuMonitorGetAllBlockJobInfo(priv->mon);
+ blockinfo = qemuMonitorGetAllBlockJobInfo(priv->mon, false);
if (qemuDomainObjExitMonitor(driver, vm) < 0 || !blockinfo)
return -1;
virHashTablePtr
-qemuMonitorGetAllBlockJobInfo(qemuMonitorPtr mon)
+qemuMonitorGetAllBlockJobInfo(qemuMonitorPtr mon,
+ bool rawjobname)
{
QEMU_CHECK_MONITOR_NULL(mon);
- return qemuMonitorJSONGetAllBlockJobInfo(mon);
+ return qemuMonitorJSONGetAllBlockJobInfo(mon, rawjobname);
}
VIR_DEBUG("alias=%s, info=%p", alias, info);
- if (!(all = qemuMonitorGetAllBlockJobInfo(mon)))
+ if (!(all = qemuMonitorGetAllBlockJobInfo(mon, false)))
return -1;
if ((data = virHashLookup(all, alias))) {
int ready; /* -1 if unknown, 0 if not ready, 1 if ready */
};
-virHashTablePtr qemuMonitorGetAllBlockJobInfo(qemuMonitorPtr mon);
+virHashTablePtr qemuMonitorGetAllBlockJobInfo(qemuMonitorPtr mon,
+ bool rawjobname);
int qemuMonitorGetBlockJobInfo(qemuMonitorPtr mon,
const char *device,
qemuMonitorBlockJobInfoPtr info)
static int
qemuMonitorJSONParseBlockJobInfo(virHashTablePtr blockJobs,
- virJSONValuePtr entry)
+ virJSONValuePtr entry,
+ bool rawjobname)
{
qemuMonitorBlockJobInfoPtr info = NULL;
const char *device;
_("entry was missing 'device'"));
return -1;
}
- device = qemuAliasDiskDriveSkipPrefix(device);
+
+ if (!rawjobname)
+ device = qemuAliasDiskDriveSkipPrefix(device);
if (VIR_ALLOC(info) < 0 ||
virHashAddEntry(blockJobs, device, info) < 0) {
}
virHashTablePtr
-qemuMonitorJSONGetAllBlockJobInfo(qemuMonitorPtr mon)
+qemuMonitorJSONGetAllBlockJobInfo(qemuMonitorPtr mon,
+ bool rawjobname)
{
virJSONValuePtr cmd = NULL;
virJSONValuePtr reply = NULL;
_("missing array element"));
goto error;
}
- if (qemuMonitorJSONParseBlockJobInfo(blockJobs, entry) < 0)
+ if (qemuMonitorJSONParseBlockJobInfo(blockJobs, entry, rawjobname) < 0)
goto error;
}
unsigned long long speed)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
-virHashTablePtr qemuMonitorJSONGetAllBlockJobInfo(qemuMonitorPtr mon)
+virHashTablePtr qemuMonitorJSONGetAllBlockJobInfo(qemuMonitorPtr mon,
+ bool rawjobname)
ATTRIBUTE_NONNULL(1);
int qemuMonitorJSONSetLink(qemuMonitorPtr mon,
int ret = -1;
qemuDomainObjEnterMonitor(driver, vm);
- blockJobs = qemuMonitorGetAllBlockJobInfo(qemuDomainGetMonitor(vm));
+ blockJobs = qemuMonitorGetAllBlockJobInfo(qemuDomainGetMonitor(vm), true);
if (qemuDomainObjExitMonitor(driver, vm) < 0 || !blockJobs)
goto cleanup;