[libvirt] [PATCH] qemu: Move qemuFreeKeywords into qemu_parse_command.c
by Kothapally Madhu Pavan
Move qemuFreeKeywords into qemu_parse_command.c as
qemuKeywordsFree and call it rather than inline code
in multiple places.
Signed-off-by: Kothapally Madhu Pavan <kmp(a)linux.vnet.ibm.com>
---
src/qemu/qemu_monitor_json.c | 15 ++-----------
src/qemu/qemu_parse_command.c | 52 ++++++++++++++++---------------------------
src/qemu/qemu_parse_command.h | 5 +++++
3 files changed, 26 insertions(+), 46 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 5546d1a..af66967 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -468,17 +468,6 @@ qemuMonitorJSONMakeCommandRaw(bool wrap, const char *cmdname, ...)
#define qemuMonitorJSONMakeCommand(cmdname, ...) \
qemuMonitorJSONMakeCommandRaw(false, cmdname, __VA_ARGS__)
-static void
-qemuFreeKeywords(int nkeywords, char **keywords, char **values)
-{
- size_t i;
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
-}
static virJSONValuePtr
qemuMonitorJSONKeywordStringToJSON(const char *str, const char *firstkeyword)
@@ -513,11 +502,11 @@ qemuMonitorJSONKeywordStringToJSON(const char *str, const char *firstkeyword)
}
}
- qemuFreeKeywords(nkeywords, keywords, values);
+ qemuKeywordsFree(nkeywords, keywords, values);
return ret;
error:
- qemuFreeKeywords(nkeywords, keywords, values);
+ qemuKeywordsFree(nkeywords, keywords, values);
virJSONValueFree(ret);
return NULL;
}
diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c
index 9f739ae..d5ea5aa 100644
--- a/src/qemu/qemu_parse_command.c
+++ b/src/qemu/qemu_parse_command.c
@@ -381,6 +381,20 @@ static const char *qemuFindEnv(char **progenv,
return NULL;
}
+
+void
+qemuKeywordsFree(int nkeywords, char **keywords, char **values)
+{
+ size_t i;
+ for (i = 0; i < nkeywords; i++) {
+ VIR_FREE(keywords[i]);
+ VIR_FREE(values[i]);
+ }
+ VIR_FREE(keywords);
+ VIR_FREE(values);
+}
+
+
/*
* Takes a string containing a set of key=value,key=value,key...
* parameters and splits them up, returning two arrays with
@@ -401,7 +415,6 @@ qemuParseKeywords(const char *str,
char **values = NULL;
const char *start = str;
const char *end;
- size_t i;
*retkeywords = NULL;
*retvalues = NULL;
@@ -479,12 +492,7 @@ qemuParseKeywords(const char *str,
return 0;
error:
- for (i = 0; i < keywordCount; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuKeywordsFree(keywordCount, keywords, values);
return -1;
}
@@ -949,12 +957,7 @@ qemuParseCommandLineDisk(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuKeywordsFree(nkeywords, keywords, values);
return def;
error:
@@ -1132,12 +1135,7 @@ qemuParseCommandLineNet(virDomainXMLOptionPtr xmlopt,
virDomainNetGenerateMAC(xmlopt, &def->mac);
cleanup:
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuKeywordsFree(nkeywords, keywords, values);
return def;
error:
@@ -1704,13 +1702,7 @@ qemuParseCommandLineMem(virDomainDefPtr dom,
ret = 0;
cleanup:
- for (i = 0; i < nkws; i++) {
- VIR_FREE(kws[i]);
- VIR_FREE(vals[i]);
- }
- VIR_FREE(kws);
- VIR_FREE(vals);
-
+ qemuKeywordsFree(nkws, kws, vals);
return ret;
}
@@ -1795,13 +1787,7 @@ qemuParseCommandLineSmp(virDomainDefPtr dom,
ret = 0;
cleanup:
- for (i = 0; i < nkws; i++) {
- VIR_FREE(kws[i]);
- VIR_FREE(vals[i]);
- }
- VIR_FREE(kws);
- VIR_FREE(vals);
-
+ qemuKeywordsFree(nkws, kws, vals);
return ret;
syntax:
diff --git a/src/qemu/qemu_parse_command.h b/src/qemu/qemu_parse_command.h
index ed65342..4c553f2 100644
--- a/src/qemu/qemu_parse_command.h
+++ b/src/qemu/qemu_parse_command.h
@@ -43,6 +43,11 @@ virDomainDefPtr qemuParseCommandLinePid(virCapsPtr caps,
virDomainChrSourceDefPtr *monConfig,
bool *monJSON);
+void
+qemuKeywordsFree(int nkeywords,
+ char **keywords,
+ char **values);
+
int
qemuParseKeywords(const char *str,
char ***retkeywords,
--
2.7.4
7 years, 1 month
[libvirt] [PATCH 0/3] misc fixes and improvements for backing chain and block devices (blockdev-add saga)
by Peter Krempa
See individual patches please.
Peter Krempa (3):
qemu: command: Separate wrapping of disk backend props to 'file'
object
qemu: block: Add support for file/block/dir storage to JSON disk src
generator
util: storagefile: Track whether a virStorageSource was auto-detected
src/qemu/qemu_block.c | 20 +++++++++-----------
src/qemu/qemu_command.c | 27 ++++++++++++++++++++++++++-
src/util/virstoragefile.c | 3 +++
src/util/virstoragefile.h | 2 ++
4 files changed, 40 insertions(+), 12 deletions(-)
--
2.14.1
7 years, 1 month
[libvirt] [PATCH 0/4] Add the ability to LUKS encrypt during LV creation
by John Ferlan
Patches should hopefully speak for themselves.
John Ferlan (4):
storage: Extract out the LVCREATE
storage: Introduce virStorageBackendCreateVolUsingQemuImg
storage: Allow creation of a LUKS using logical volume
docs: Add news article
docs/news.xml | 13 ++++++
src/storage/storage_backend_logical.c | 74 +++++++++++++++++++----------------
src/storage/storage_util.c | 42 ++++++++++++++++++++
src/storage/storage_util.h | 8 ++++
4 files changed, 104 insertions(+), 33 deletions(-)
--
2.13.6
7 years, 1 month
[libvirt] [PATCH 0/3] vbox: Update VRDE server port handling.
by Dawid Zamirski
Hello,
The following patches improve how VRDE is handled by libvirt vbox
driver:
* When autoport=yes, it will now set the VRDE server to a port range
3389-3689, thus when muliple VMs are started with autoport=yes, they
will use non-conflicting ports from this port range - previously all
VMs would try to use the default 3389
* When dumping display configuration to XML, first try to read the VRDE
port using VRDEServerInfo which provides the "effective" port that
the VM is using. Otherwise, fall back to read it from VRDEServer
property.
* Fix the documentation on RDP wher the descriptions of multiUser and
replaceUser were swapped.
Dawid Zamirski (3):
vbox: Make autoport set RDP port range.
vbox: Read runtime RDP port and handle autoport.
docs: Fix multiUser/replaceUser in RDP display doc.
docs/formatdomain.html.in | 4 +-
src/vbox/vbox_common.c | 3 +-
src/vbox/vbox_tmpl.c | 151 ++++++++++++++++++++++++++++++------------
src/vbox/vbox_uniformed_api.h | 2 +-
4 files changed, 112 insertions(+), 48 deletions(-)
--
2.14.2
7 years, 1 month
[libvirt] [PATCH 0/3] qemu: Parse CPU stepping from query-cpu-model-expansion
by Jiri Denemark
Even though only family and model are used for matching CPUID data with
CPU models from cpu_map.xml, stepping is used by x86DataFilterTSX which
is supposed to disable TSX on CPU models with broken TSX support.
This series applies on top of "Fix host-model if the chosen CPU model
has more features in QEMU compared to our cpu_map.xml" series I sent a
week ago.
Jiri Denemark (3):
qemu: Parse CPU stepping from query-cpu-model-expansion
cputest: Update Xeon-E7-8890 data
cputest: Add query-cpu-definitions reply for Xeon-E7-8890
src/cpu/cpu_x86.c | 16 +-
src/cpu/cpu_x86.h | 3 +-
src/qemu/qemu_capabilities.c | 5 +-
tests/cputest.c | 2 +-
.../x86_64-cpuid-Xeon-E7-8890-disabled.xml | 6 +
.../x86_64-cpuid-Xeon-E7-8890-enabled.xml | 9 +
.../cputestdata/x86_64-cpuid-Xeon-E7-8890-json.xml | 14 +
tests/cputestdata/x86_64-cpuid-Xeon-E7-8890.json | 521 +++++++++++++++++++++
tests/cputestdata/x86_64-cpuid-Xeon-E7-8890.xml | 6 +-
9 files changed, 569 insertions(+), 13 deletions(-)
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-8890-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E7-8890.json
--
2.14.2
7 years, 1 month
[libvirt] [PATCH] conf: fix use of uninitialized variable
by Nikolay Shirokovskiy
If same boot order is specified twice (or more) in domain xml
we call free for uninitiaziled loadparm on cleanup in virDomainDeviceBootParseXML
and SIGABRT (or similar) as a result.
---
src/conf/domain_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 516f9fa..25d48f9 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6188,7 +6188,7 @@ virDomainDeviceBootParseXML(xmlNodePtr node,
virHashTablePtr bootHash)
{
char *order;
- char *loadparm;
+ char *loadparm = NULL;
int ret = -1;
if (!(order = virXMLPropString(node, "order"))) {
--
1.8.3.1
7 years, 1 month
[libvirt] [PATCH 0/2] vz: build fixes
by Nikolay Shirokovskiy
Nikolay Shirokovskiy (2):
vz: missing pieces for fd885a06 for vz driver
vz: fix typo for 0d3d020b
src/vz/vz_driver.c | 4 ++--
src/vz/vz_sdk.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
--
1.8.3.1
7 years, 1 month
[libvirt] [libvirt-jenkins-ci PATCH 0/5] Add unattended guest installation support
by Andrea Bolognani
I, for one, welcome our new robot overlords.
Andrea Bolognani (5):
ansible: Remove bootstrap phase
ansible: Introduce the 'manage' tool
ansible: Add unattended installation support
ansible: Update documentation
guests: Rename from 'ansible'
ansible/Makefile | 12 --
ansible/README.markdown | 60 ----------
ansible/bootstrap.yml | 15 ---
{ansible => guests}/.gitignore | 0
guests/README.markdown | 80 +++++++++++++
{ansible => guests}/ansible.cfg | 0
guests/group_vars/all/install.yml | 10 ++
{ansible => guests}/group_vars/all/main.yml | 1 +
guests/host_vars/libvirt-centos-6/install.yml | 3 +
.../host_vars/libvirt-centos-6/main.yml | 0
.../host_vars/libvirt-centos-6/vault.yml | 0
guests/host_vars/libvirt-centos-7/install.yml | 3 +
.../host_vars/libvirt-centos-7/main.yml | 0
.../host_vars/libvirt-centos-7/vault.yml | 0
guests/host_vars/libvirt-debian-8/install.yml | 3 +
.../host_vars/libvirt-debian-8/main.yml | 0
.../host_vars/libvirt-debian-8/vault.yml | 0
guests/host_vars/libvirt-debian-9/install.yml | 3 +
.../host_vars/libvirt-debian-9/main.yml | 0
.../host_vars/libvirt-debian-9/vault.yml | 0
guests/host_vars/libvirt-fedora-25/install.yml | 3 +
.../host_vars/libvirt-fedora-25/main.yml | 0
.../host_vars/libvirt-fedora-25/vault.yml | 0
guests/host_vars/libvirt-fedora-26/install.yml | 3 +
.../host_vars/libvirt-fedora-26/main.yml | 0
.../host_vars/libvirt-fedora-26/vault.yml | 0
.../host_vars/libvirt-fedora-rawhide/install.yml | 3 +
.../host_vars/libvirt-fedora-rawhide/main.yml | 0
.../host_vars/libvirt-fedora-rawhide/vault.yml | 0
.../host_vars/libvirt-freebsd-10/main.yml | 0
.../host_vars/libvirt-freebsd-10/vault.yml | 0
.../host_vars/libvirt-freebsd-11/main.yml | 0
.../host_vars/libvirt-freebsd-11/vault.yml | 0
guests/host_vars/libvirt-ubuntu-12/install.yml | 3 +
.../host_vars/libvirt-ubuntu-12/main.yml | 0
.../host_vars/libvirt-ubuntu-12/vault.yml | 0
guests/host_vars/libvirt-ubuntu-14/install.yml | 3 +
.../host_vars/libvirt-ubuntu-14/main.yml | 0
.../host_vars/libvirt-ubuntu-14/vault.yml | 0
guests/host_vars/libvirt-ubuntu-16/install.yml | 3 +
.../host_vars/libvirt-ubuntu-16/main.yml | 0
.../host_vars/libvirt-ubuntu-16/vault.yml | 0
{ansible => guests}/inventory | 0
guests/kickstart.cfg | 60 ++++++++++
guests/manage | 131 +++++++++++++++++++++
guests/preseed.cfg | 85 +++++++++++++
{ansible => guests}/site.yml | 8 ++
{ansible => guests}/tasks/base.yml | 0
{ansible => guests}/tasks/bootstrap.yml | 0
{ansible => guests}/tasks/compat.yml | 0
{ansible => guests}/tasks/jenkins.yml | 0
{ansible => guests}/tasks/packages.yml | 0
{ansible => guests}/templates/jenkins.service.j2 | 0
{ansible => guests}/vars/mappings.yml | 0
{ansible => guests}/vars/projects/base.yml | 0
{ansible => guests}/vars/projects/jenkins.yml | 0
{ansible => guests}/vars/projects/libosinfo.yml | 0
{ansible => guests}/vars/projects/libvirt-cim.yml | 0
{ansible => guests}/vars/projects/libvirt-glib.yml | 0
.../vars/projects/libvirt-go-xml.yml | 0
{ansible => guests}/vars/projects/libvirt-go.yml | 0
{ansible => guests}/vars/projects/libvirt-perl.yml | 0
.../vars/projects/libvirt-python.yml | 0
.../vars/projects/libvirt-sandbox.yml | 0
{ansible => guests}/vars/projects/libvirt-tck.yml | 0
{ansible => guests}/vars/projects/libvirt.yml | 0
.../vars/projects/osinfo-db-tools.yml | 0
{ansible => guests}/vars/projects/osinfo-db.yml | 0
{ansible => guests}/vars/projects/virt-manager.yml | 0
{ansible => guests}/vars/projects/virt-viewer.yml | 0
70 files changed, 405 insertions(+), 87 deletions(-)
delete mode 100644 ansible/Makefile
delete mode 100644 ansible/README.markdown
delete mode 100644 ansible/bootstrap.yml
rename {ansible => guests}/.gitignore (100%)
create mode 100644 guests/README.markdown
rename {ansible => guests}/ansible.cfg (100%)
create mode 100644 guests/group_vars/all/install.yml
rename {ansible => guests}/group_vars/all/main.yml (91%)
create mode 100644 guests/host_vars/libvirt-centos-6/install.yml
rename {ansible => guests}/host_vars/libvirt-centos-6/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-centos-6/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-centos-7/install.yml
rename {ansible => guests}/host_vars/libvirt-centos-7/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-centos-7/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-debian-8/install.yml
rename {ansible => guests}/host_vars/libvirt-debian-8/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-debian-8/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-debian-9/install.yml
rename {ansible => guests}/host_vars/libvirt-debian-9/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-debian-9/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-fedora-25/install.yml
rename {ansible => guests}/host_vars/libvirt-fedora-25/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-fedora-25/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-fedora-26/install.yml
rename {ansible => guests}/host_vars/libvirt-fedora-26/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-fedora-26/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-fedora-rawhide/install.yml
rename {ansible => guests}/host_vars/libvirt-fedora-rawhide/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-fedora-rawhide/vault.yml (100%)
rename {ansible => guests}/host_vars/libvirt-freebsd-10/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-freebsd-10/vault.yml (100%)
rename {ansible => guests}/host_vars/libvirt-freebsd-11/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-freebsd-11/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-ubuntu-12/install.yml
rename {ansible => guests}/host_vars/libvirt-ubuntu-12/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-ubuntu-12/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-ubuntu-14/install.yml
rename {ansible => guests}/host_vars/libvirt-ubuntu-14/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-ubuntu-14/vault.yml (100%)
create mode 100644 guests/host_vars/libvirt-ubuntu-16/install.yml
rename {ansible => guests}/host_vars/libvirt-ubuntu-16/main.yml (100%)
rename {ansible => guests}/host_vars/libvirt-ubuntu-16/vault.yml (100%)
rename {ansible => guests}/inventory (100%)
create mode 100644 guests/kickstart.cfg
create mode 100755 guests/manage
create mode 100644 guests/preseed.cfg
rename {ansible => guests}/site.yml (83%)
rename {ansible => guests}/tasks/base.yml (100%)
rename {ansible => guests}/tasks/bootstrap.yml (100%)
rename {ansible => guests}/tasks/compat.yml (100%)
rename {ansible => guests}/tasks/jenkins.yml (100%)
rename {ansible => guests}/tasks/packages.yml (100%)
rename {ansible => guests}/templates/jenkins.service.j2 (100%)
rename {ansible => guests}/vars/mappings.yml (100%)
rename {ansible => guests}/vars/projects/base.yml (100%)
rename {ansible => guests}/vars/projects/jenkins.yml (100%)
rename {ansible => guests}/vars/projects/libosinfo.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-cim.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-glib.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-go-xml.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-go.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-perl.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-python.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-sandbox.yml (100%)
rename {ansible => guests}/vars/projects/libvirt-tck.yml (100%)
rename {ansible => guests}/vars/projects/libvirt.yml (100%)
rename {ansible => guests}/vars/projects/osinfo-db-tools.yml (100%)
rename {ansible => guests}/vars/projects/osinfo-db.yml (100%)
rename {ansible => guests}/vars/projects/virt-manager.yml (100%)
rename {ansible => guests}/vars/projects/virt-viewer.yml (100%)
--
2.13.6
7 years, 1 month
[libvirt] [PATCH] docs: remove duplicate https links
by Ján Tomko
Commit e371b3b changed all the links to libvirt.org to use https.
Remove the leftover 'http' links from downloads page, since they
point to https anyway.
---
Pushed as trivial.
docs/downloads.html.in | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/docs/downloads.html.in b/docs/downloads.html.in
index 640b51480..6657e21d0 100644
--- a/docs/downloads.html.in
+++ b/docs/downloads.html.in
@@ -28,7 +28,6 @@
<td>libvirt</td>
<td>
<a href="ftp://libvirt.org/libvirt/">ftp</a>
- <a href="https://libvirt.org/sources/">http</a>
<a href="https://libvirt.org/sources/">https</a>
</td>
<td>
@@ -50,7 +49,6 @@
<td>C#</td>
<td>
<a href="ftp://libvirt.org/libvirt/csharp/">ftp</a>
- <a href="https://libvirt.org/sources/csharp/">http</a>
<a href="https://libvirt.org/sources/csharp/">https</a>
</td>
<td>
@@ -66,7 +64,6 @@
<td>Go</td>
<td>
<a href="ftp://libvirt.org/libvirt/go/">ftp</a>
- <a href="https://libvirt.org/sources/go/">http</a>
<a href="https://libvirt.org/sources/go/">https</a>
</td>
<td>
@@ -84,7 +81,6 @@
<td>Java</td>
<td>
<a href="ftp://libvirt.org/libvirt/java/">ftp</a>
- <a href="https://libvirt.org/sources/java/">http</a>
<a href="https://libvirt.org/sources/java/">https</a>
</td>
<td>
@@ -100,7 +96,6 @@
<td>OCaml</td>
<td>
<a href="ftp://libvirt.org/libvirt/ocaml/">ftp</a>
- <a href="https://libvirt.org/sources/ocaml/">http</a>
<a href="https://libvirt.org/sources/ocaml/">https</a>
</td>
<td>
@@ -133,7 +128,6 @@
<td>PHP</td>
<td>
<a href="ftp://libvirt.org/libvirt/php/">ftp</a>
- <a href="https://libvirt.org/sources/php/">http</a>
<a href="https://libvirt.org/sources/php/">https</a>
</td>
<td>
@@ -149,7 +143,6 @@
<td>Python</td>
<td>
<a href="ftp://libvirt.org/libvirt/python/">ftp</a>
- <a href="https://libvirt.org/sources/python/">http</a>
<a href="https://libvirt.org/sources/python/">https</a>
<a href="https://pypi.python.org/pypi/libvirt-python">pypi</a>
</td>
@@ -166,7 +159,6 @@
<td>Ruby</td>
<td>
<a href="ftp://libvirt.org/libvirt/ruby/">ftp</a>
- <a href="https://libvirt.org/sources/ruby/">http</a>
<a href="https://libvirt.org/sources/ruby/">https</a>
</td>
<td>
@@ -182,7 +174,6 @@
<td>Rust</td>
<td>
<a href="ftp://libvirt.org/libvirt/rust/">ftp</a>
- <a href="https://libvirt.org/sources/rust/">http</a>
<a href="https://libvirt.org/sources/rust/">https</a>
</td>
<td>
@@ -201,7 +192,6 @@
<td>GLib / GConfig / GObject</td>
<td>
<a href="ftp://libvirt.org/libvirt/glib/">ftp</a>
- <a href="https://libvirt.org/sources/glib/">http</a>
<a href="https://libvirt.org/sources/glib/">https</a>
</td>
<td>
@@ -217,7 +207,6 @@
<td>Go XML</td>
<td>
<a href="ftp://libvirt.org/libvirt/go/">ftp</a>
- <a href="https://libvirt.org/sources/go/">http</a>
<a href="https://libvirt.org/sources/go/">https</a>
</td>
<td>
@@ -235,7 +224,6 @@
<td>Console Proxy</td>
<td>
<a href="ftp://libvirt.org/libvirt/consoleproxy/">ftp</a>
- <a href="https://libvirt.org/sources/consoleproxy/">http</a>
<a href="https://libvirt.org/sources/consoleproxy/">https</a>
</td>
<td>
@@ -251,7 +239,6 @@
<td>CIM provider</td>
<td>
<a href="ftp://libvirt.org/libvirt/CIM/">ftp</a>
- <a href="https://libvirt.org/sources/CIM/">http</a>
<a href="https://libvirt.org/sources/CIM/">https</a>
</td>
<td>
@@ -267,7 +254,6 @@
<td>CIM utils</td>
<td>
<a href="ftp://libvirt.org/libvirt/CIM/">ftp</a>
- <a href="https://libvirt.org/sources/CIM/">http</a>
<a href="https://libvirt.org/sources/CIM/">https</a>
</td>
<td>
@@ -283,7 +269,6 @@
<td>SNMP</td>
<td>
<a href="ftp://libvirt.org/libvirt/snmp/">ftp</a>
- <a href="https://libvirt.org/sources/snmp/">http</a>
<a href="https://libvirt.org/sources/snmp/">https</a>
</td>
<td>
@@ -299,7 +284,6 @@
<td>Application Sandbox</td>
<td>
<a href="ftp://libvirt.org/libvirt/sandbox/">ftp</a>
- <a href="https://libvirt.org/sources/sandbox/">http</a>
<a href="https://libvirt.org/sources/sandbox/">https</a>
</td>
<td>
@@ -318,7 +302,6 @@
<td>TCK</td>
<td>
<a href="ftp://libvirt.org/libvirt/tck/">ftp</a>
- <a href="https://libvirt.org/sources/tck/">http</a>
<a href="https://libvirt.org/sources/tck/">https</a>
</td>
<td>
--
2.13.0
7 years, 1 month
[libvirt] [PATCH 0/4] qemu: Fix CPU model broken by older libvirt
by Jiri Denemark
When libvirt older than 3.9.0 reconnected to a running domain started by
old libvirt it could have messed up the expansion of host-model by
adding features QEMU does not support (such as cmt). This series fixes
the reconnection code and adds a hack which fixes CPU definitions which
were broken by older libvirt.
https://bugzilla.redhat.com/show_bug.cgi?id=1495171
Jiri Denemark (4):
qemu: Separate CPU updating code from qemuProcessReconnect
conf: Introduce virCPUDefFindFeature
qemu: Filter CPU features when using host CPU
qemu: Fix CPU model broken by older libvirt
src/conf/cpu_conf.c | 40 +++++++++++++++--------
src/conf/cpu_conf.h | 4 +++
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain.c | 76 ++++++++++++++++++++++++++++++++++++++++++++
src/qemu/qemu_domain.h | 4 +++
src/qemu/qemu_driver.c | 14 ++++++++
src/qemu/qemu_process.c | 83 ++++++++++++++++++++++++++++++++++--------------
7 files changed, 186 insertions(+), 36 deletions(-)
--
2.14.2
7 years, 1 month