|
|
99cbc7 |
From e40f255c06b69af3bc9df5d0e6cbd0eb253e0650 Mon Sep 17 00:00:00 2001
|
|
|
99cbc7 |
Message-Id: <e40f255c06b69af3bc9df5d0e6cbd0eb253e0650@dist-git>
|
|
|
99cbc7 |
From: Laine Stump <laine@laine.org>
|
|
|
99cbc7 |
Date: Thu, 11 Apr 2019 15:14:39 -0400
|
|
|
99cbc7 |
Subject: [PATCH] qemu_hotplug: move (Attach|Detach)Lease functions with others
|
|
|
99cbc7 |
of same type
|
|
|
99cbc7 |
|
|
|
99cbc7 |
The Attach and Detach Lease functions were together in the middle of
|
|
|
99cbc7 |
the Detach functions. Put them at the end of their respective
|
|
|
99cbc7 |
sections, since they behave differently from the other attach/detach
|
|
|
99cbc7 |
functions (DetachLease doesn't use qemuDomainDeleteDevice(), and is
|
|
|
99cbc7 |
always synchronous).
|
|
|
99cbc7 |
|
|
|
99cbc7 |
Signed-off-by: Laine Stump <laine@laine.org>
|
|
|
99cbc7 |
ACKed-by: Peter Krempa <pkrempa@redhat.com>
|
|
|
99cbc7 |
(cherry picked from commit 015e71c54ddf8d133905a85514239b21bc7e552e)
|
|
|
99cbc7 |
|
|
|
99cbc7 |
Partially-Resolves: https://bugzilla.redhat.com/1658198
|
|
|
99cbc7 |
Signed-off-by: Laine Stump <laine@redhat.com>
|
|
|
99cbc7 |
Signed-off-by: Laine Stump <laine@laine.org>
|
|
|
99cbc7 |
Message-Id: <20190411191453.24055-28-laine@redhat.com>
|
|
|
99cbc7 |
Acked-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
99cbc7 |
---
|
|
|
99cbc7 |
src/qemu/qemu_hotplug.c | 96 +++++++++++++++++++++--------------------
|
|
|
99cbc7 |
1 file changed, 50 insertions(+), 46 deletions(-)
|
|
|
99cbc7 |
|
|
|
99cbc7 |
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
|
|
|
99cbc7 |
index 77237a895e..d55a68e4ad 100644
|
|
|
99cbc7 |
--- a/src/qemu/qemu_hotplug.c
|
|
|
99cbc7 |
+++ b/src/qemu/qemu_hotplug.c
|
|
|
99cbc7 |
@@ -2980,6 +2980,32 @@ qemuDomainAttachVsockDevice(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
}
|
|
|
99cbc7 |
|
|
|
99cbc7 |
|
|
|
99cbc7 |
+int
|
|
|
99cbc7 |
+qemuDomainAttachLease(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
+ virDomainObjPtr vm,
|
|
|
99cbc7 |
+ virDomainLeaseDefPtr lease)
|
|
|
99cbc7 |
+{
|
|
|
99cbc7 |
+ int ret = -1;
|
|
|
99cbc7 |
+ virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ if (virDomainLeaseInsertPreAlloc(vm->def) < 0)
|
|
|
99cbc7 |
+ goto cleanup;
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ if (virDomainLockLeaseAttach(driver->lockManager, cfg->uri,
|
|
|
99cbc7 |
+ vm, lease) < 0) {
|
|
|
99cbc7 |
+ virDomainLeaseInsertPreAlloced(vm->def, NULL);
|
|
|
99cbc7 |
+ goto cleanup;
|
|
|
99cbc7 |
+ }
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ virDomainLeaseInsertPreAlloced(vm->def, lease);
|
|
|
99cbc7 |
+ ret = 0;
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ cleanup:
|
|
|
99cbc7 |
+ virObjectUnref(cfg);
|
|
|
99cbc7 |
+ return ret;
|
|
|
99cbc7 |
+}
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
static int
|
|
|
99cbc7 |
qemuDomainChangeNetBridge(virDomainObjPtr vm,
|
|
|
99cbc7 |
virDomainNetDefPtr olddev,
|
|
|
99cbc7 |
@@ -5350,52 +5376,6 @@ qemuDomainDetachNetDevice(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
}
|
|
|
99cbc7 |
|
|
|
99cbc7 |
|
|
|
99cbc7 |
-int qemuDomainAttachLease(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
- virDomainObjPtr vm,
|
|
|
99cbc7 |
- virDomainLeaseDefPtr lease)
|
|
|
99cbc7 |
-{
|
|
|
99cbc7 |
- int ret = -1;
|
|
|
99cbc7 |
- virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- if (virDomainLeaseInsertPreAlloc(vm->def) < 0)
|
|
|
99cbc7 |
- goto cleanup;
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- if (virDomainLockLeaseAttach(driver->lockManager, cfg->uri,
|
|
|
99cbc7 |
- vm, lease) < 0) {
|
|
|
99cbc7 |
- virDomainLeaseInsertPreAlloced(vm->def, NULL);
|
|
|
99cbc7 |
- goto cleanup;
|
|
|
99cbc7 |
- }
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- virDomainLeaseInsertPreAlloced(vm->def, lease);
|
|
|
99cbc7 |
- ret = 0;
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- cleanup:
|
|
|
99cbc7 |
- virObjectUnref(cfg);
|
|
|
99cbc7 |
- return ret;
|
|
|
99cbc7 |
-}
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
-int qemuDomainDetachLease(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
- virDomainObjPtr vm,
|
|
|
99cbc7 |
- virDomainLeaseDefPtr lease)
|
|
|
99cbc7 |
-{
|
|
|
99cbc7 |
- virDomainLeaseDefPtr det_lease;
|
|
|
99cbc7 |
- int idx;
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- if ((idx = virDomainLeaseIndex(vm->def, lease)) < 0) {
|
|
|
99cbc7 |
- virReportError(VIR_ERR_INVALID_ARG,
|
|
|
99cbc7 |
- _("Lease %s in lockspace %s does not exist"),
|
|
|
99cbc7 |
- lease->key, NULLSTR(lease->lockspace));
|
|
|
99cbc7 |
- return -1;
|
|
|
99cbc7 |
- }
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- if (virDomainLockLeaseDetach(driver->lockManager, vm, lease) < 0)
|
|
|
99cbc7 |
- return -1;
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
- det_lease = virDomainLeaseRemoveAt(vm->def, idx);
|
|
|
99cbc7 |
- virDomainLeaseDefFree(det_lease);
|
|
|
99cbc7 |
- return 0;
|
|
|
99cbc7 |
-}
|
|
|
99cbc7 |
-
|
|
|
99cbc7 |
int qemuDomainDetachChrDevice(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
virDomainObjPtr vm,
|
|
|
99cbc7 |
virDomainChrDefPtr chr,
|
|
|
99cbc7 |
@@ -5634,6 +5614,30 @@ qemuDomainDetachVsockDevice(virDomainObjPtr vm,
|
|
|
99cbc7 |
}
|
|
|
99cbc7 |
|
|
|
99cbc7 |
|
|
|
99cbc7 |
+int
|
|
|
99cbc7 |
+qemuDomainDetachLease(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
+ virDomainObjPtr vm,
|
|
|
99cbc7 |
+ virDomainLeaseDefPtr lease)
|
|
|
99cbc7 |
+{
|
|
|
99cbc7 |
+ virDomainLeaseDefPtr det_lease;
|
|
|
99cbc7 |
+ int idx;
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ if ((idx = virDomainLeaseIndex(vm->def, lease)) < 0) {
|
|
|
99cbc7 |
+ virReportError(VIR_ERR_INVALID_ARG,
|
|
|
99cbc7 |
+ _("Lease %s in lockspace %s does not exist"),
|
|
|
99cbc7 |
+ lease->key, NULLSTR(lease->lockspace));
|
|
|
99cbc7 |
+ return -1;
|
|
|
99cbc7 |
+ }
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ if (virDomainLockLeaseDetach(driver->lockManager, vm, lease) < 0)
|
|
|
99cbc7 |
+ return -1;
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+ det_lease = virDomainLeaseRemoveAt(vm->def, idx);
|
|
|
99cbc7 |
+ virDomainLeaseDefFree(det_lease);
|
|
|
99cbc7 |
+ return 0;
|
|
|
99cbc7 |
+}
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
+
|
|
|
99cbc7 |
static int
|
|
|
99cbc7 |
qemuDomainRemoveVcpu(virQEMUDriverPtr driver,
|
|
|
99cbc7 |
virDomainObjPtr vm,
|
|
|
99cbc7 |
--
|
|
|
99cbc7 |
2.21.0
|
|
|
99cbc7 |
|