From 078717e1510ae8fa96d49c6dcda5b9eeba973f60 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 13 May 2015 09:47:21 +0200 Subject: [PATCH] Rename virDomainHasBlockjob as qemuDomainHasBlockjob And move it to qemu_domain.[ch] because this API is QEMU-only. Signed-off-by: Jiri Denemark --- src/conf/domain_conf.c | 27 --------------------------- src/conf/domain_conf.h | 3 --- src/libvirt_private.syms | 1 - src/qemu/qemu_domain.c | 28 ++++++++++++++++++++++++++++ src/qemu/qemu_domain.h | 2 ++ src/qemu/qemu_driver.c | 4 ++-- src/qemu/qemu_migration.c | 2 +- 7 files changed, 33 insertions(+), 34 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 278b2237b1..bdfa35bfa4 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -12317,33 +12317,6 @@ virDomainDiskRemoveByName(virDomainDefPtr def, const char *name) 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) { /* hostdev net devices must also exist in the hostdevs array */ diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index f57f3c9497..b5e76171df 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2697,9 +2697,6 @@ int virDomainDiskSourceParse(xmlNodePtr node, xmlXPathContextPtr ctxt, virStorageSourcePtr src); -bool virDomainHasBlockjob(virDomainObjPtr vm, - bool copy_only); - int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net); virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *device); bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6e33f84e49..f80fc70213 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -308,7 +308,6 @@ virDomainGraphicsTypeFromString; virDomainGraphicsTypeToString; virDomainGraphicsVNCSharePolicyTypeFromString; virDomainGraphicsVNCSharePolicyTypeToString; -virDomainHasBlockjob; virDomainHasNet; virDomainHostdevCapsTypeToString; virDomainHostdevDefAlloc; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index fa8229ffcd..b69f10f8a8 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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 qemuDomainUpdateDeviceList(virQEMUDriverPtr driver, virDomainObjPtr vm, diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 3162f84e16..7f2e4b589a 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -432,6 +432,8 @@ int qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo, int qemuDomainSupportsBlockJobs(virDomainObjPtr vm, bool *modern) ATTRIBUTE_NONNULL(1); bool qemuDomainDiskBlockJobIsActive(virDomainDiskDefPtr disk); +bool qemuDomainHasBlockjob(virDomainObjPtr vm, bool copy_only) + ATTRIBUTE_NONNULL(1); int qemuDomainAlignMemorySizes(virDomainDefPtr def); void qemuDomainMemoryDeviceAlignSize(virDomainMemoryDefPtr mem); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e6efc809bf..75a6951051 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7736,7 +7736,7 @@ static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml virObjectRef(vm); def = NULL; - if (virDomainHasBlockjob(vm, true)) { + if (qemuDomainHasBlockjob(vm, true)) { virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, "%s", _("domain has active block job")); virDomainObjAssignDef(vm, NULL, false, NULL); @@ -15624,7 +15624,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, if (!(caps = virQEMUDriverGetCapabilities(driver, false))) goto cleanup; - if (virDomainHasBlockjob(vm, false)) { + if (qemuDomainHasBlockjob(vm, false)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("domain has active block job")); goto cleanup; diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 4dcba7af03..72a2ead2a2 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2067,7 +2067,7 @@ qemuMigrationIsAllowed(virQEMUDriverPtr driver, virDomainObjPtr vm, } - if (virDomainHasBlockjob(vm, false)) { + if (qemuDomainHasBlockjob(vm, false)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("domain has an active block job")); return false; -- GitLab