[libvirt] [PATCH] qemu: monitor: No need to debug-log the 'mon' pointer
by Peter Krempa
QEMU_CHECK_MONITOR_* already logs the object and vm name
---
src/qemu/qemu_monitor.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index a4fa6eca6..2fc6192dc 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -4194,8 +4194,6 @@ qemuMonitorMigrateIncoming(qemuMonitorPtr mon,
int
qemuMonitorMigrateStartPostCopy(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONMigrateStartPostCopy(mon);
@@ -4205,8 +4203,6 @@ int
qemuMonitorGetRTCTime(qemuMonitorPtr mon,
struct tm *tm)
{
- VIR_DEBUG("mon=%p", mon);
-
QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetRTCTime(mon, tm);
@@ -4216,8 +4212,6 @@ qemuMonitorGetRTCTime(qemuMonitorPtr mon,
virHashTablePtr
qemuMonitorQueryQMPSchema(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
QEMU_CHECK_MONITOR_JSON_NULL(mon);
return qemuMonitorJSONQueryQMPSchema(mon);
@@ -4229,7 +4223,7 @@ qemuMonitorSetBlockThreshold(qemuMonitorPtr mon,
const char *nodename,
unsigned long long threshold)
{
- VIR_DEBUG("mon=%p, node='%s', threshold=%llu", mon, nodename, threshold);
+ VIR_DEBUG("node='%s', threshold=%llu", nodename, threshold);
QEMU_CHECK_MONITOR_JSON(mon);
@@ -4240,8 +4234,6 @@ qemuMonitorSetBlockThreshold(qemuMonitorPtr mon,
virJSONValuePtr
qemuMonitorQueryNamedBlockNodes(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
QEMU_CHECK_MONITOR_JSON_NULL(mon);
return qemuMonitorJSONQueryNamedBlockNodes(mon);
--
2.12.2
7 years, 8 months
[libvirt] [PATCH 00/14] Add tests for virCPUUpdateLive API
by Jiri Denemark
Jiri Denemark (14):
cpu_conf: Introduce virCPUDefFreeFeatures
cpu: Introduce virCPUExpandFeatures
cpu: Drop unused flags from cpuArchDecode
cpu: Move feature expansion out of cpuBaseline
cpu: Do not pass virConnectBaselineCPUFlags to cpuBaseline
cputest: Move instantiation of JSONDecoder in cpu-convert.py
cputest: Rename cpu-convert.py script as cpu-cpuid.py
cputest: Add cpuidIsSet helper to cpu-cpuid.py
cputest: Add cpuidLeaf helper to cpu-cpuid.py
cputest: Add "diff" command to cpu-cpuid.py
cputest: Generate data for virCPUUpdateLive
cputest: Disable TSX on broken models
cputest: Disable "cmt" feature unknown to QEMU
cputest: Add tests for virCPUUpdateLive API
src/conf/cpu_conf.c | 21 ++-
src/conf/cpu_conf.h | 3 +
src/cpu/cpu.c | 74 +++++++--
src/cpu/cpu.h | 15 +-
src/cpu/cpu_arm.c | 5 +-
src/cpu/cpu_ppc64.c | 12 +-
src/cpu/cpu_x86.c | 109 ++++++++------
src/libvirt_private.syms | 2 +
tests/cputest.c | 160 +++++++++++++++++++-
tests/cputestdata/{cpu-convert.py => cpu-cpuid.py} | 165 +++++++++++++++++----
tests/cputestdata/cpu-parse.sh | 3 +-
tests/cputestdata/x86_64-baseline-3-expanded.xml | 48 +++---
tests/cputestdata/x86_64-baseline-4-expanded.xml | 68 ++++-----
tests/cputestdata/x86_64-baseline-5-expanded.xml | 70 ++++-----
.../x86_64-cpuid-A10-5800K-disabled.xml | 7 +
.../cputestdata/x86_64-cpuid-A10-5800K-enabled.xml | 8 +
.../x86_64-cpuid-Core-i5-2500-disabled.xml | 5 +
.../x86_64-cpuid-Core-i5-2500-enabled.xml | 9 ++
.../x86_64-cpuid-Core-i5-2540M-disabled.xml | 5 +
.../x86_64-cpuid-Core-i5-2540M-enabled.xml | 9 ++
.../x86_64-cpuid-Core-i5-4670T-disabled.xml | 7 +
.../x86_64-cpuid-Core-i5-4670T-enabled.xml | 8 +
tests/cputestdata/x86_64-cpuid-Core-i5-4670T.json | 4 +-
.../x86_64-cpuid-Core-i5-6600-disabled.xml | 5 +
.../x86_64-cpuid-Core-i5-6600-enabled.xml | 9 ++
.../x86_64-cpuid-Core-i7-2600-disabled.xml | 6 +
.../x86_64-cpuid-Core-i7-2600-enabled.xml | 8 +
.../x86_64-cpuid-Core-i7-3740QM-disabled.xml | 6 +
.../x86_64-cpuid-Core-i7-3740QM-enabled.xml | 8 +
.../x86_64-cpuid-Core-i7-3770-disabled.xml | 6 +
.../x86_64-cpuid-Core-i7-3770-enabled.xml | 8 +
.../x86_64-cpuid-Core-i7-4510U-disabled.xml | 5 +
.../x86_64-cpuid-Core-i7-4510U-enabled.xml | 9 ++
.../x86_64-cpuid-Core-i7-4600U-disabled.xml | 5 +
.../x86_64-cpuid-Core-i7-4600U-enabled.xml | 9 ++
.../x86_64-cpuid-Core-i7-5600U-disabled.xml | 5 +
.../x86_64-cpuid-Core-i7-5600U-enabled.xml | 9 ++
.../x86_64-cpuid-Core2-E6850-disabled.xml | 4 +
.../x86_64-cpuid-Core2-E6850-enabled.xml | 7 +
.../x86_64-cpuid-Opteron-2350-disabled.xml | 7 +
.../x86_64-cpuid-Opteron-2350-enabled.xml | 7 +
.../x86_64-cpuid-Opteron-6234-disabled.xml | 7 +
.../x86_64-cpuid-Opteron-6234-enabled.xml | 9 ++
.../x86_64-cpuid-Phenom-B95-disabled.xml | 7 +
.../x86_64-cpuid-Phenom-B95-enabled.xml | 7 +
.../x86_64-cpuid-Xeon-E3-1245-disabled.xml | 6 +
.../x86_64-cpuid-Xeon-E3-1245-enabled.xml | 9 ++
.../x86_64-cpuid-Xeon-E5-2630-disabled.xml | 7 +
.../x86_64-cpuid-Xeon-E5-2630-enabled.xml | 8 +
.../x86_64-cpuid-Xeon-E5-2650-disabled.xml | 8 +
.../x86_64-cpuid-Xeon-E5-2650-enabled.xml | 7 +
.../x86_64-cpuid-Xeon-E7-4820-disabled.xml | 6 +
.../x86_64-cpuid-Xeon-E7-4820-enabled.xml | 7 +
.../x86_64-cpuid-Xeon-W3520-disabled.xml | 5 +
.../x86_64-cpuid-Xeon-W3520-enabled.xml | 7 +
55 files changed, 834 insertions(+), 206 deletions(-)
rename tests/cputestdata/{cpu-convert.py => cpu-cpuid.py} (83%)
create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-A10-5800K-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2500-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-2540M-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-4670T-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i5-6600-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-2600-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-3770-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4510U-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4510U-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-4600U-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core2-E6850-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-2350-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Opteron-6234-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Phenom-B95-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2630-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-W3520-enabled.xml
--
2.12.0
7 years, 8 months
[libvirt] [PATCH] docs: Add news.rng to EXTRA_DIST
by Peter Krempa
---
Pushed under the build-breaker rule.
docs/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 62e069e15..105fe6894 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -220,6 +220,7 @@ news.html.in: \
fi
EXTRA_DIST += \
$(srcdir)/news.xml \
+ $(srcdir)/news.rng \
$(srcdir)/news-html.xsl
MAINTAINERCLEANFILES += \
$(srcdir)/news.html.in
--
2.12.2
7 years, 8 months
[libvirt] [PATCH v3 0/5] Fix gluster pool lookup issues
by Peter Krempa
Naming, style and other fixes suggested by Andrea in his review. The changes
were too invasive so I'll rather repost it.
Peter Krempa (5):
storage: util: Pass pool type to
virStorageBackendFindGlusterPoolSources
storage: util: Split out the gluster volume extraction code into new
function
test: Introduce testing of virStorageUtilGlusterExtractPoolSources
storage: Fix XPath for looking up gluster volume name
storage: gluster: Use volume name as "<name>" field in the XML
src/storage/storage_backend_fs.c | 2 +-
src/storage/storage_backend_gluster.c | 2 +-
src/storage/storage_util.c | 114 +++++++++++++--------
src/storage/storage_util.h | 6 +-
tests/Makefile.am | 16 ++-
.../gluster-parse-basic-native.xml | 7 ++
.../gluster-parse-basic-netfs.xml | 7 ++
.../virstorageutildata/gluster-parse-basic-src.xml | 47 +++++++++
.../gluster-parse-multivol-native.xml | 17 +++
.../gluster-parse-multivol-netfs.xml | 17 +++
.../gluster-parse-multivol-src.xml | 32 ++++++
tests/virstorageutiltest.c | 114 +++++++++++++++++++++
12 files changed, 336 insertions(+), 45 deletions(-)
create mode 100644 tests/virstorageutildata/gluster-parse-basic-native.xml
create mode 100644 tests/virstorageutildata/gluster-parse-basic-netfs.xml
create mode 100644 tests/virstorageutildata/gluster-parse-basic-src.xml
create mode 100644 tests/virstorageutildata/gluster-parse-multivol-native.xml
create mode 100644 tests/virstorageutildata/gluster-parse-multivol-netfs.xml
create mode 100644 tests/virstorageutildata/gluster-parse-multivol-src.xml
create mode 100644 tests/virstorageutiltest.c
--
2.12.2
7 years, 8 months
[libvirt] [PATCH] storage: gluster: Implement 'checkPool' method so that state is restored
by Peter Krempa
After restart of libvirtd the 'checkPool' method is supposed to validate
that the pool is online. Since libvirt then refreshes the pool contents
anyways just return whether the pool was supposed to be online so that
the code can be reached. This is necessary since if a pool does not
implement the method it's automatically considered as inactive.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1436065
---
src/storage/storage_backend_gluster.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c
index 52c9ee372..83da47347 100644
--- a/src/storage/storage_backend_gluster.c
+++ b/src/storage/storage_backend_gluster.c
@@ -537,9 +537,22 @@ virStorageBackendGlusterFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
}
+static int
+virStorageBackendGlusterCheckPool(virStoragePoolObjPtr pool,
+ bool *active)
+{
+ /* Return previous state remembered by the status XML. If the pool is not
+ * available we will fail to refresh it and end up in the same situation.
+ * This will save one attempt to open the connection to the remote server */
+ *active = pool->active;
+ return 0;
+}
+
+
virStorageBackend virStorageBackendGluster = {
.type = VIR_STORAGE_POOL_GLUSTER,
+ .checkPool = virStorageBackendGlusterCheckPool,
.refreshPool = virStorageBackendGlusterRefreshPool,
.findPoolSources = virStorageBackendGlusterFindPoolSources,
--
2.12.1
7 years, 8 months
[libvirt] [PATCH] docs: don't install news.rng file
by Daniel P. Berrange
The news.rng file gets picked up by the wildcard match on docs/schemas,
and so gets installed into /usr/share/libvirt, along with the schemas
for our API objects. This then generated an RPM build failure, since
we don't have news.rng in the RPM file list
The news.rng schema is not something that users of libvirt ever care
about, since it is purely an internal thing to validate our website
content.
So rather than add news.rng to the RPM file list, this changes the
make rules so that we don't install news.rng at all.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
Technically a built-break fix, but I'm not pushing it, in case people
have any alternative suggestions. eg we could just put news.rng in
the tests/ subdirectory instead, letting us keep the wildcard in the
docs/Makefile.am
docs/Makefile.am | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 62e069e..2251848 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -153,7 +153,30 @@ fig = \
migration-unmanaged-direct.fig
schemadir = $(pkgdatadir)/schemas
-schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
+schema_DATA = \
+ schemas/basictypes.rng \
+ schemas/capability.rng \
+ schemas/cputypes.rng \
+ schemas/domaincaps.rng \
+ schemas/domaincommon.rng \
+ schemas/domain.rng \
+ schemas/domainsnapshot.rng \
+ schemas/domain.xml \
+ schemas/interface.rng \
+ schemas/networkcommon.rng \
+ schemas/network.rng \
+ schemas/nodedev.rng \
+ schemas/nwfilter.rng \
+ schemas/secret.rng \
+ schemas/storagecommon.rng \
+ schemas/storagepool.rng \
+ schemas/storagevol.rng \
+ $(NULL)
+
+noinst_DATA = \
+ schemas/news.rng \
+ $(NULL)
+
EXTRA_DIST= \
apibuild.py genaclperms.pl \
@@ -166,7 +189,7 @@ EXTRA_DIST= \
$(internals_html_in) $(internals_html) \
aclperms.htmlinc \
hvsupport.pl \
- $(schema_DATA)
+ $(schema_DATA) $(noinst_DATA)
acl_generated = aclperms.htmlinc
--
2.9.3
7 years, 8 months
[libvirt] [PATCH] docs: Document limitation of maximum vcpu count used with <topology>
by Peter Krempa
qemu requires that the topology equals to the maximum vcpu count.
Document this along with the API to set maximum vcpu count and the XML
element.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1426220
---
docs/formatdomain.html.in | 5 ++++-
src/libvirt-domain.c | 3 ++-
tools/virsh.pod | 3 ++-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index aae5e9c07..b1e38f00e 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -1401,7 +1401,10 @@
virtual CPU provided to the guest. Three non-zero values have to be
given for <code>sockets</code>, <code>cores</code>, and
<code>threads</code>: total number of CPU sockets, number of cores per
- socket, and number of threads per core, respectively.</dd>
+ socket, and number of threads per core, respectively. Hypervisors may
+ require that the maximum number of vCPUs specified by the
+ <code>cpus</code> element equals to the number of vcpus resulting
+ from the topology.</dd>
<dt><code>feature</code></dt>
<dd>The <code>cpu</code> element can contain zero or more
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 4670c54e5..310b91b37 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -7010,7 +7010,8 @@ virDomainSetVcpus(virDomainPtr domain, unsigned int nvcpus)
* CPU limit is altered; generally, this value must be less than or
* equal to virConnectGetMaxVcpus(). Otherwise, this call affects the
* current virtual CPU limit, which must be less than or equal to the
- * maximum limit.
+ * maximum limit. Note that hypervisors may not allow changing the maximum
+ * vcpu count if processor topology is specified.
*
* If @flags includes VIR_DOMAIN_VCPU_GUEST, then the state of processors is
* modified inside the guest instead of the hypervisor. This flag can only
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 9a52d6716..d1030808a 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -2477,7 +2477,8 @@ marked as hotpluggable.
The I<--maximum> flag controls the maximum number of virtual cpus that can
be hot-plugged the next time the domain is booted. As such, it must only be
used with the I<--config> flag, and not with the I<--live> or the I<--current>
-flag.
+flag. Note that it may not be possible to change the maximum vcpu count if
+the processor topology is specified for the guest.
=item B<setvcpu> I<domain> I<vcpulist> [I<--enable>] | [I<--disable>]
[[I<--live>] [I<--config>] | [I<--current>]]
--
2.12.2
7 years, 8 months
[libvirt] [PATCH v3 00/12] hyperv: add support for Hyper-V 2012 and newer.
by Dawid Zamirski
Changes since v2[1]:
* address the issue with incorrect request URI used in invoke
* update driver doc
* add news entry
[1] https://www.redhat.com/archives/libvir-list/2017-April/msg00018.html
Dawid Zamirski (12):
hyperv: store WMI version in hypervPrivate.
hyperv: introduce hypervWmiClassInfo struct.
hyperv: update hypervObject struct.
hyperv: add hypervWqlQuery struct.
hyperv: make hypervEnumAndPull use hypervWqlQuery
hyperv: update generator input file.
hyperv: update wmi code generator.
hyperv: add helper for getting WMI class lists.
hyperv: port rest of the driver to new stucts.
hyperv: add hypervInitConnection.
hyperv: update driver documentation.
news: update for Hyper-V 2012+ support.
docs/drvhyperv.html.in | 2 +-
docs/news.xml | 11 +
src/Makefile.am | 2 -
src/hyperv/hyperv_driver.c | 168 ++++++++-------
src/hyperv/hyperv_private.h | 8 +-
src/hyperv/hyperv_wmi.c | 173 +++++++++++----
src/hyperv/hyperv_wmi.h | 56 ++++-
src/hyperv/hyperv_wmi_classes.h | 30 +++
src/hyperv/hyperv_wmi_generator.input | 239 ++++++++++++++++++---
src/hyperv/hyperv_wmi_generator.py | 385 +++++++++++++++++++++++++---------
10 files changed, 822 insertions(+), 252 deletions(-)
--
2.9.3
7 years, 8 months
[libvirt] [PATCH v2 0/2] libvirt-python: libvirtaio
by Wojtek Porczyk
Hello, libvirt-list,
This is second attempt at merging libvirtaio, an event loop implementation
which dispatches the callbacks via asyncio's event loop.
The first patch fixes the bug around freeing opaque objects [1][2], and the
second one is the actual implementation.
Since v1 series, as per Daniel Berrange's notes, the second patch has licence
comment changed to LGPL-2.1+ and there is no import into main libvirt module.
The first patch is unchanged.
[1] https://www.redhat.com/archives/libvir-list/2017-January/msg00863.html
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1433028
Wojtek Porczyk (2):
Allow for ff callbacks to be called by custom event implementations
Add asyncio event loop implementation
libvirt-override.c | 36 ++---
libvirt-override.py | 39 +++++
libvirt-python.spec.in | 1 +
libvirtaio.py | 401 +++++++++++++++++++++++++++++++++++++++++++++++++
sanitytest.py | 5 +-
setup.py | 12 ++
6 files changed, 468 insertions(+), 26 deletions(-)
create mode 100644 libvirtaio.py
--
pozdrawiam / best regards _.-._
Wojtek Porczyk .-^' '^-.
Invisible Things Lab |'-.-^-.-'|
| | | |
I do not fear computers, | '-.-' |
I fear lack of them. '-._ : ,-'
-- Isaac Asimov `^-^-_>
7 years, 8 months
[libvirt] [PATCH v3.2-maint 0/2] Maintenance branch details
by Martin Kletzander
So I just created v3.2-maint with one rather important back-port.
This is what I would've pushed with it, but I'd rather know the
opinions on whether one or both ideas are stupid. Thanks.
Martin Kletzander (2):
Maintenance branch version bump
docs: Add vz driver typo fix to news.xml
configure.ac | 2 +-
docs/news.xml | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
--
2.12.2
7 years, 8 months