[PATCH] schema: backup: Make 'exportname' and 'exportbitmap' independent
by Peter Krempa
Both are optional but don't have to be specified together. Fix the
schema.
https://bugzilla.redhat.com/show_bug.cgi?id=1826746
Suggested-by: Yi Sun <yisun(a)redhat.com>
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
Pushed as trivial.
docs/schemas/domainbackup.rng | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/schemas/domainbackup.rng b/docs/schemas/domainbackup.rng
index ac5b12c463..5165175152 100644
--- a/docs/schemas/domainbackup.rng
+++ b/docs/schemas/domainbackup.rng
@@ -200,6 +200,8 @@
<attribute name='exportname'>
<text/>
</attribute>
+ </optional>
+ <optional>
<attribute name='exportbitmap'>
<text/>
</attribute>
--
2.26.0
4 years, 8 months
[PATCH v2] docs: Document reserved PCI addresses for QEMU
by Michal Privoznik
>From time to time we are asked which PCI addresses are reserved
in QEMU. Let's document them in one place, it's easier than
reconstructing the list from the code each time.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
diff to v1:
- All Laine's comment worked in, hopefully.
docs/pci-addresses.rst | 50 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/docs/pci-addresses.rst b/docs/pci-addresses.rst
index 885d50517a..4f123c7eb9 100644
--- a/docs/pci-addresses.rst
+++ b/docs/pci-addresses.rst
@@ -235,3 +235,53 @@ guest OS rather than as ``0001:08:00.1``, which is the address of the
device on the host.
Of course, all the rules and behaviors described above still apply.
+
+
+Reserved addresses
+==================
+
+Due to some historical reasons hypervisors might expect some PCI
+devices to appear at certain addresses instead of 'random' ones.
+For QEMU this is machine type and guest architecture dependant.
+But to give you at least a gist here is list of reserved PCI
+addresses:
+
+For ``I440FX`` the following devices are hard coded into QEMU and can't be
+moved or eliminated:
+
+============ ======================
+0000:00:00.0 Host bridge
+0000:00:01.0 ISA bridge
+0000:00:01.1 primary IDE controller
+0000:00:01.2 PIIX3 USB controller
+0000:00:01.3 ACPI (power management) and SMBus controller
+============ ======================
+
+The following addresses will be used as default ones for the corresponding
+devices (if the address is free or a different address wasn't provided for the
+device):
+
+============ ==================
+0000:00:02.0 primary video card
+============ ==================
+
+
+For ``Q35`` the following devices are hard coded into QEMU and can't be moved
+or eliminated:
+
+============ =======================
+0000:00:00.0 Host bridge
+0000:00:1f.2 primary SATA controller
+0000:00:1f.0 ISA bridge
+0000:00:1f.3 SMBus
+============ =======================
+
+The following addresses will be used as default ones for the corresponding
+devices (if the address is free or a different address wasn't provided for the
+device) because that's how real ``Q35`` would do it:
+
+============ ===============
+0000:00:1a.0 USB2 controller
+0000:00:1b.0 ICH9 sound chip
+0000:00:1d.0 USB2 controller
+============ ===============
--
2.25.3
4 years, 8 months
[PATCH v2] news: Include new DHCP network <lease/> feature
by Julio Faracco
This commit includes an entry for new network DHCP lease time
information inside news.xml.
Signed-off-by: Julio Faracco <jcfaracco(a)gmail.com>
---
docs/news.xml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 956018b512..9c36f3bd51 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -88,6 +88,16 @@
hotplugging PCI devices.
</description>
</change>
+ <change>
+ <summary>
+ Lease time option included for network DHCP settings
+ </summary>
+ <description>
+ Users can now configure expiry time for leases for networks where
+ libvirt manages DHCP. The time can be specified for whole range
+ and/or fine tuned per individual host.
+ </description>
+ </change>
</section>
<section title="Improvements">
</section>
--
2.25.3
4 years, 8 months
[PATCH] qemu: Move interlocking of blockjobs and checkpoints after liveness check
by Peter Krempa
qemuDomainSupportsCheckpointsBlockjobs checks if the
QEMU_CAPS_INCREMENTAL_BACKUP capability is supported to do the
interlocking. Capabilities are not present when the VM isn't running
though which would create false errors.
Move the checks after the liveness check in block job implementations.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_driver.c | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 00d276061e..5ecf12deef 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -17439,6 +17439,9 @@ qemuDomainBlockPullCommon(virDomainObjPtr vm,
if (virDomainObjCheckActive(vm) < 0)
goto endjob;
+ if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0)
+ goto endjob;
+
if (!(disk = qemuDomainDiskByName(vm->def, path)))
goto endjob;
@@ -17994,6 +17997,9 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
if (virDomainObjCheckActive(vm) < 0)
goto endjob;
+ if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0)
+ goto endjob;
+
if (!(disk = qemuDomainDiskByName(vm->def, path)))
goto endjob;
@@ -18278,9 +18284,6 @@ qemuDomainBlockRebase(virDomainPtr dom, const char *path, const char *base,
if (virDomainBlockRebaseEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0)
- goto cleanup;
-
/* For normal rebase (enhanced blockpull), the common code handles
* everything, including vm cleanup. */
if (!(flags & VIR_DOMAIN_BLOCK_REBASE_COPY))
@@ -18364,9 +18367,6 @@ qemuDomainBlockCopy(virDomainPtr dom, const char *disk, const char *destxml,
if (virDomainBlockCopyEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0)
- goto cleanup;
-
for (i = 0; i < nparams; i++) {
virTypedParameterPtr param = ¶ms[i];
@@ -18429,11 +18429,6 @@ qemuDomainBlockPull(virDomainPtr dom, const char *path, unsigned long bandwidth,
return -1;
}
- if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0) {
- virDomainObjEndAPI(&vm);
- return -1;
- }
-
/* qemuDomainBlockPullCommon consumes the reference on @vm */
return qemuDomainBlockPullCommon(vm, path, NULL, bandwidth, flags);
}
--
2.26.0
4 years, 8 months
[PATCH 0/5] backup: Preserve error of failed backup job
by Peter Krempa
Aid in problem identification by storing the error for users as it
wasn't accessible besides from logs.
Peter Krempa (5):
remote: remoteDispatchDomainGetJobStats: Encode typed parameter
strings
qemu: Add free and copy function for qemuDomainJobInfo and use it
API: Add VIR_DOMAIN_JOB_ERRMSG domain job statistics field
qemu: domain: Add 'errmsg' field to qemuDomainJobInfo
backup: Store error message for failed backups
include/libvirt/libvirt-domain.h | 9 +++++++
src/conf/backup_conf.c | 1 +
src/conf/backup_conf.h | 2 ++
src/qemu/qemu_backup.c | 15 ++++++++----
src/qemu/qemu_backup.h | 1 +
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_domain.c | 33 +++++++++++++++++++++----
src/qemu/qemu_domain.h | 10 ++++++++
src/qemu/qemu_driver.c | 37 +++++++++++++++--------------
src/qemu/qemu_migration.c | 16 ++++++-------
src/qemu/qemu_migration_cookie.c | 10 ++++----
src/remote/remote_daemon_dispatch.c | 2 +-
tools/virsh-domain.c | 8 +++++++
13 files changed, 101 insertions(+), 45 deletions(-)
--
2.26.0
4 years, 8 months
[libvirt PATCH 0/3] qemu: block: basic implementation of deletion of external snapshots
by Pavel Mores
Deleting external snapshots has been unimplemented so far. This series aims
to enable limited functionality in that direction, handling just the common
cases for now. The intention is to subsequently build upon this to eventually
cover the more complex/exotic cases as well.
Please refer to the commit message of the final commit for a detailed
description of features and limitations of this change.
Pavel Mores (3):
qemu: block: factor implementation out of qemuDomainBlockCommit()
qemu: block: factor implementation out of qemuDomainBlockJobAbort()
qemu: block: external snapshot-delete implementation for
straightforward cases
src/qemu/qemu_driver.c | 295 +++++++++++++++++++++++++++++++++--------
1 file changed, 241 insertions(+), 54 deletions(-)
--
2.24.1
4 years, 8 months
[PATCH] news: Include new DHCP network <lease/> feature
by Julio Faracco
This commit includes an entry for new network DHCP lease time
information inside news.xml.
Signed-off-by: Julio Faracco <jcfaracco(a)gmail.com>
---
docs/news.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/news.xml b/docs/news.xml
index 956018b512..3a013ffbbd 100644
--- a/docs/news.xml
+++ b/docs/news.xml
@@ -88,6 +88,18 @@
hotplugging PCI devices.
</description>
</change>
+ <change>
+ <summary>
+ Lease time option included for network DHCP settings
+ </summary>
+ <description>
+ Dnsmasq does not support to configure a global lease time. There
+ is no configuration option that could specify lease time. The
+ only way to configure lease time is setting it for each range's
+ and host's lines mainly. Libvirt now can configure lease time
+ for <code>range</code> and <code>host</code>.
+ </description>
+ </change>
</section>
<section title="Improvements">
</section>
--
2.25.3
4 years, 8 months
[libvirt-perl PATCH 0/3] gitlab: introduce CI coverage
by Daniel P. Berrangé
This series introduces CI jobs for the Perl binding, enabling the switch
over to use of Merge Requests with pre-merge build validation.
Daniel P. Berrangé (3):
Build: bump min perl to 5.16.0
gitlab: add CI jobs for validating build across platforms
gitlab: add a simple job that publishes the API docs as HTML
.gitlab-ci.yml | 158 ++++++++++++++++++++++++++++++++++
Build.PL | 2 +-
ci/libvirt-centos-7.dkr | 12 +++
ci/libvirt-centos-8.dkr | 13 +++
ci/libvirt-debian-10.dkr | 14 +++
ci/libvirt-debian-9.dkr | 14 +++
ci/libvirt-debian-sid.dkr | 14 +++
ci/libvirt-fedora-30.dkr | 13 +++
ci/libvirt-fedora-31.dkr | 13 +++
ci/libvirt-fedora-rawhide.dkr | 13 +++
ci/libvirt-opensuse-151.dkr | 11 +++
ci/libvirt-ubuntu-1604.dkr | 14 +++
ci/libvirt-ubuntu-1804.dkr | 14 +++
ci/refresh | 16 ++++
14 files changed, 320 insertions(+), 1 deletion(-)
create mode 100644 ci/libvirt-centos-7.dkr
create mode 100644 ci/libvirt-centos-8.dkr
create mode 100644 ci/libvirt-debian-10.dkr
create mode 100644 ci/libvirt-debian-9.dkr
create mode 100644 ci/libvirt-debian-sid.dkr
create mode 100644 ci/libvirt-fedora-30.dkr
create mode 100644 ci/libvirt-fedora-31.dkr
create mode 100644 ci/libvirt-fedora-rawhide.dkr
create mode 100644 ci/libvirt-opensuse-151.dkr
create mode 100644 ci/libvirt-ubuntu-1604.dkr
create mode 100644 ci/libvirt-ubuntu-1804.dkr
create mode 100755 ci/refresh
--
2.25.3
4 years, 8 months
[PATCH] networkxml2xmltest: Complete renaming of @actual
by Michal Privoznik
In 97a0aa2467 the @actual variable was renamed to @confactual.
However, the commit missed non-Linux case resulting in a broken
build.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed under trivial and build-breaker rules.
tests/networkxml2conftest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/networkxml2conftest.c b/tests/networkxml2conftest.c
index 5d0bba7924..b35de50f0b 100644
--- a/tests/networkxml2conftest.c
+++ b/tests/networkxml2conftest.c
@@ -58,7 +58,7 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf,
"except-interface=lo\n")))
goto fail;
VIR_FREE(confactual);
- actual = g_steal_pointer(&tmp);
+ confactual = g_steal_pointer(&tmp);
#endif
if (virTestCompareToFile(confactual, outconf) < 0)
--
2.26.2
4 years, 8 months
[PATCH 0/4] qemuhotplugtest: Fix timeouts
by Peter Krempa
The test takes too long for no good reason. One was caused by the
compiler inlining too much and second one was a deliberate decision.
Peter Krempa (4):
qemuDomainGetUnplugTimeout: Add G_GNUC_NO_INLINE
mock:qemuDomainGetUnplugTimeout: Remove unused attribute for '@vm'
mock: qemuDomainGetUnplugTimeout: Decrease timeout
qemuhotplugtest: detach: Remove commands which are not issued
src/qemu/qemu_hotplug.c | 2 +-
tests/qemuhotplugmock.c | 6 +++---
tests/qemuhotplugtest.c | 9 +++------
3 files changed, 7 insertions(+), 10 deletions(-)
--
2.26.0
4 years, 8 months