提交 078717e1 编写于 作者: J Jiri Denemark

Rename virDomainHasBlockjob as qemuDomainHasBlockjob

And move it to qemu_domain.[ch] because this API is QEMU-only.
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
上级 890fa6a0
...@@ -12317,33 +12317,6 @@ virDomainDiskRemoveByName(virDomainDefPtr def, const char *name) ...@@ -12317,33 +12317,6 @@ virDomainDiskRemoveByName(virDomainDefPtr def, const char *name)
return virDomainDiskRemove(def, idx); return virDomainDiskRemove(def, idx);
} }
/**
* virDomainHasBlockjob:
* @vm: domain object
* @copy_only: Reject only block copy job
*
* Return true if @vm has at least one disk involved in a current block
* copy/commit/pull job. If @copy_only is true this returns true only if the
* disk is involved in a block copy.
* */
bool
virDomainHasBlockjob(virDomainObjPtr vm,
bool copy_only)
{
size_t i;
for (i = 0; i < vm->def->ndisks; i++) {
if (!copy_only &&
vm->def->disks[i]->blockjob)
return true;
if (vm->def->disks[i]->mirror &&
vm->def->disks[i]->mirrorJob == VIR_DOMAIN_BLOCK_JOB_TYPE_COPY)
return true;
}
return false;
}
int virDomainNetInsert(virDomainDefPtr def, virDomainNetDefPtr net) int virDomainNetInsert(virDomainDefPtr def, virDomainNetDefPtr net)
{ {
/* hostdev net devices must also exist in the hostdevs array */ /* hostdev net devices must also exist in the hostdevs array */
......
...@@ -2697,9 +2697,6 @@ int virDomainDiskSourceParse(xmlNodePtr node, ...@@ -2697,9 +2697,6 @@ int virDomainDiskSourceParse(xmlNodePtr node,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt,
virStorageSourcePtr src); virStorageSourcePtr src);
bool virDomainHasBlockjob(virDomainObjPtr vm,
bool copy_only);
int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net); int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net);
virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *device); virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *device);
bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net); bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net);
......
...@@ -308,7 +308,6 @@ virDomainGraphicsTypeFromString; ...@@ -308,7 +308,6 @@ virDomainGraphicsTypeFromString;
virDomainGraphicsTypeToString; virDomainGraphicsTypeToString;
virDomainGraphicsVNCSharePolicyTypeFromString; virDomainGraphicsVNCSharePolicyTypeFromString;
virDomainGraphicsVNCSharePolicyTypeToString; virDomainGraphicsVNCSharePolicyTypeToString;
virDomainHasBlockjob;
virDomainHasNet; virDomainHasNet;
virDomainHostdevCapsTypeToString; virDomainHostdevCapsTypeToString;
virDomainHostdevDefAlloc; virDomainHostdevDefAlloc;
......
...@@ -2828,6 +2828,34 @@ qemuDomainDiskBlockJobIsActive(virDomainDiskDefPtr disk) ...@@ -2828,6 +2828,34 @@ qemuDomainDiskBlockJobIsActive(virDomainDiskDefPtr disk)
} }
/**
* qemuDomainHasBlockjob:
* @vm: domain object
* @copy_only: Reject only block copy job
*
* Return true if @vm has at least one disk involved in a current block
* copy/commit/pull job. If @copy_only is true this returns true only if the
* disk is involved in a block copy.
* */
bool
qemuDomainHasBlockjob(virDomainObjPtr vm,
bool copy_only)
{
size_t i;
for (i = 0; i < vm->def->ndisks; i++) {
if (!copy_only &&
vm->def->disks[i]->blockjob)
return true;
if (vm->def->disks[i]->mirror &&
vm->def->disks[i]->mirrorJob == VIR_DOMAIN_BLOCK_JOB_TYPE_COPY)
return true;
}
return false;
}
int int
qemuDomainUpdateDeviceList(virQEMUDriverPtr driver, qemuDomainUpdateDeviceList(virQEMUDriverPtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
......
...@@ -432,6 +432,8 @@ int qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo, ...@@ -432,6 +432,8 @@ int qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
int qemuDomainSupportsBlockJobs(virDomainObjPtr vm, bool *modern) int qemuDomainSupportsBlockJobs(virDomainObjPtr vm, bool *modern)
ATTRIBUTE_NONNULL(1); ATTRIBUTE_NONNULL(1);
bool qemuDomainDiskBlockJobIsActive(virDomainDiskDefPtr disk); bool qemuDomainDiskBlockJobIsActive(virDomainDiskDefPtr disk);
bool qemuDomainHasBlockjob(virDomainObjPtr vm, bool copy_only)
ATTRIBUTE_NONNULL(1);
int qemuDomainAlignMemorySizes(virDomainDefPtr def); int qemuDomainAlignMemorySizes(virDomainDefPtr def);
void qemuDomainMemoryDeviceAlignSize(virDomainMemoryDefPtr mem); void qemuDomainMemoryDeviceAlignSize(virDomainMemoryDefPtr mem);
......
...@@ -7736,7 +7736,7 @@ static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml ...@@ -7736,7 +7736,7 @@ static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml
virObjectRef(vm); virObjectRef(vm);
def = NULL; def = NULL;
if (virDomainHasBlockjob(vm, true)) { if (qemuDomainHasBlockjob(vm, true)) {
virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, "%s", virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, "%s",
_("domain has active block job")); _("domain has active block job"));
virDomainObjAssignDef(vm, NULL, false, NULL); virDomainObjAssignDef(vm, NULL, false, NULL);
...@@ -15624,7 +15624,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, ...@@ -15624,7 +15624,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
if (!(caps = virQEMUDriverGetCapabilities(driver, false))) if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
goto cleanup; goto cleanup;
if (virDomainHasBlockjob(vm, false)) { if (qemuDomainHasBlockjob(vm, false)) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s", virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("domain has active block job")); _("domain has active block job"));
goto cleanup; goto cleanup;
......
...@@ -2067,7 +2067,7 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm, ...@@ -2067,7 +2067,7 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm,
} }
if (virDomainHasBlockjob(vm, false)) { if (qemuDomainHasBlockjob(vm, false)) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s", virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("domain has an active block job")); _("domain has an active block job"));
return false; return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册