Compare commits
291 Commits
libvirt-0_
...
no-polkit
Author | SHA1 | Date |
---|---|---|
|
74aa4d5b6b | |
|
b7f2ffc0cc | |
|
21316e7a45 | |
|
8adbb7a402 | |
|
3f19d41908 | |
|
34da93e0c9 | |
|
208f506190 | |
|
0ca715cad9 | |
|
0f5d8c1c22 | |
|
a56bcbd063 | |
|
89c3fa751c | |
|
051644ffcb | |
|
2a9c282548 | |
|
2ae80af461 | |
|
7335ede0e1 | |
|
6c92ba3805 | |
|
446f680673 | |
|
3f56aa2870 | |
|
3cec91694f | |
|
cb0cfa566f | |
|
a27acebf66 | |
|
99d3a0ca1a | |
|
9c962ebc4f | |
|
99cbbf6606 | |
|
b73e509648 | |
|
b23ff9c0f7 | |
|
20f9ed9c4c | |
|
04cb28c315 | |
|
a74ea318d1 | |
|
98ed6b4e36 | |
|
2c49d1fd11 | |
|
6e7bca6631 | |
|
2fe145bb02 | |
|
10b7d235e3 | |
|
232e2e7de2 | |
|
fb1e4b061e | |
|
0b1a013081 | |
|
a972457f43 | |
|
67cfa34a05 | |
|
fc2ebb7646 | |
|
e92b461b4f | |
|
b1ac7b5791 | |
|
88424efe85 | |
|
4e2aab98a2 | |
|
f4bc1a2fe2 | |
|
a4bf2768b8 | |
|
47cd44e9da | |
|
731c6b90ff | |
|
47ca46905d | |
|
860ffc5b13 | |
|
611b2ee520 | |
|
edcb926f9d | |
|
caebff8304 | |
|
8fa41135ca | |
|
0debbff964 | |
|
d6cc78be66 | |
|
8d9645735e | |
|
4c65f08330 | |
|
2427f8f078 | |
|
d168e4f934 | |
|
4dd365589f | |
|
50e253df29 | |
|
cb71801a2b | |
|
4a9c74e91d | |
|
281508ec99 | |
|
feb92626e1 | |
|
93cadb0880 | |
|
dd6b57aa60 | |
|
b8cb754e9d | |
|
dbe61507bd | |
|
ce7b23d9d0 | |
|
8ded6ff93e | |
|
1ef96f3488 | |
|
ee3bf37900 | |
|
7452a06938 | |
|
fe8f9ed9c4 | |
|
1b64f74c82 | |
|
c81949046d | |
|
19dcb913e6 | |
|
e4b5ba1a9d | |
|
5f1a422d83 | |
|
c5b0b3ef9d | |
|
c0a04cb876 | |
|
3cc7cdf12f | |
|
6b531d9967 | |
|
4d05ac021c | |
|
d29aa84b17 | |
|
a075adc818 | |
|
4d0e63f99c | |
|
9e11936ec5 | |
|
a4075ec632 | |
|
dadb59c95f | |
|
e73cc6a9d8 | |
|
10cd84e37f | |
|
e63e2040cd | |
|
91063332d7 | |
|
503330ba5d | |
|
0a64085f47 | |
|
1073e2447a | |
|
5b1a906ace | |
|
aff97e0146 | |
|
a4b41a378b | |
|
3ec523d168 | |
|
622cf0d642 | |
|
a540751e83 | |
|
11b596669a | |
|
fefbae879b | |
|
695b281409 | |
|
9f9eae34c1 | |
|
ae37ed3500 | |
|
f7f509999b | |
|
419bcc4b2f | |
|
7b59d4f7eb | |
|
03326e9c04 | |
|
f40b464d1e | |
|
810ca6c207 | |
|
8df3aef6aa | |
|
0223d5a656 | |
|
aad810a204 | |
|
1b8b7567b1 | |
|
442040caac | |
|
65efaafca2 | |
|
e87c8ab0c7 | |
|
be6bda45b4 | |
|
8c9e40d383 | |
|
0f6f9b973a | |
|
3db6039b2b | |
|
4051217c8b | |
|
c5c28baba1 | |
|
43618df1d4 | |
|
a2951dccb5 | |
|
b884323c03 | |
|
adeaf839fd | |
|
40d99010e1 | |
|
11755d8663 | |
|
2daa92daf9 | |
|
db2858c661 | |
|
53adb9aaba | |
|
168df8b606 | |
|
f9085f2538 | |
|
b159bbdc98 | |
|
a5af3cf105 | |
|
27ca069db7 | |
|
000a3274d2 | |
|
19c7799c31 | |
|
198ff818c6 | |
|
e80c83ad06 | |
|
660e0112c6 | |
|
45c1cabef6 | |
|
56be2c5e38 | |
|
4aa9c4f1a3 | |
|
7be420ad22 | |
|
40b00623a4 | |
|
ce09ec66c7 | |
|
97d7c80e2e | |
|
b856ae03bf | |
|
803b3b891a | |
|
350081d1a9 | |
|
1b71b68bb9 | |
|
4084288dd5 | |
|
d1cd1b7ceb | |
|
5ed69704b9 | |
|
be6e136cb1 | |
|
d3109abfa4 | |
|
f5ff4a2393 | |
|
8cc50838dc | |
|
2c2e71c0ce | |
|
96b1b18b42 | |
|
f7763bfd17 | |
|
404e58cb18 | |
|
cd3767e3b9 | |
|
f1867a5ecc | |
|
b5548f62cb | |
|
52f3bedee7 | |
|
f87237919c | |
|
e8969fb913 | |
|
74d46bc7dd | |
|
4b6ea94306 | |
|
963754bc8c | |
|
7b5483236c | |
|
438006407c | |
|
76c8282ee2 | |
|
f463598b24 | |
|
f4e752a385 | |
|
c37cb21dea | |
|
e0bfc1f8aa | |
|
544ad4a787 | |
|
8f163760ed | |
|
565427cf89 | |
|
e10da2f6d4 | |
|
aa386576d5 | |
|
c73c129b48 | |
|
afe729ac3c | |
|
b6038bae4f | |
|
e6d9787587 | |
|
44699dc495 | |
|
991d719dde | |
|
96a520b555 | |
|
e31df5e9de | |
|
6763b267b9 | |
|
24e91208a4 | |
|
15dec999e7 | |
|
d6b0635d3d | |
|
336a93264e | |
|
6398d1cff5 | |
|
6926ed26ea | |
|
6253f97a2d | |
|
37ddbd0eac | |
|
95fe7c8df2 | |
|
79ae809020 | |
|
f19e302ba9 | |
|
e9c1d3f4b0 | |
|
0f577d932b | |
|
21a02c2e90 | |
|
4e460d5f09 | |
|
f9de2f6bc6 | |
|
2daa1b7814 | |
|
f99eeb8567 | |
|
7069f75cb8 | |
|
2cac7dac46 | |
|
913c3c6554 | |
|
a5a4c0c89b | |
|
8c8aca2fab | |
|
daf8e124ca | |
|
38c4b724fe | |
|
4d00487275 | |
|
a6831c26c1 | |
|
c363c7ebdb | |
|
18ee6daf8a | |
|
459eb426c3 | |
|
a0d670d2bf | |
|
d7b41212c1 | |
|
2e1539eba4 | |
|
ee9521d87c | |
|
8d8fc08bac | |
|
e79d304c79 | |
|
db03f03fd9 | |
|
957403ebec | |
|
6c32e1aaeb | |
|
362e335c0b | |
|
ed6c49f874 | |
|
47fcec5405 | |
|
d7239a45b6 | |
|
f13fb18c58 | |
|
d29644418d | |
|
ed9e426b26 | |
|
659febf9ff | |
|
fca1fccfad | |
|
f713d63bab | |
|
5a45e466cf | |
|
742b24eb23 | |
|
03369d2383 | |
|
2605d662e0 | |
|
e8394ab5b5 | |
|
8ad156a5c2 | |
|
f2d6fb6239 | |
|
e3a592c38d | |
|
7e99819dda | |
|
a160d7f98d | |
|
36cab842e8 | |
|
7b7b86e327 | |
|
f4bfe638b6 | |
|
0e9d242f05 | |
|
e24467a8c2 | |
|
b39c370a76 | |
|
62e4e7cde2 | |
|
f822179f97 | |
|
47e7e1e548 | |
|
e73b75314b | |
|
8193a55b4a | |
|
6036708fa2 | |
|
4717aa0b6d | |
|
97ae25ea7d | |
|
6470ed033b | |
|
b550f9c1d5 | |
|
ee0273ffc3 | |
|
50fce74b00 | |
|
e29f71d1c9 | |
|
427ed20801 | |
|
d23e6c285b | |
|
2c139b45d8 | |
|
762435e3b7 | |
|
6383d6b056 | |
|
3712441ea6 | |
|
9d0bc882fa | |
|
90dddf3d3d | |
|
86abd54d02 | |
|
4ab5ad5425 | |
|
f9c1b758c3 | |
|
38cf1bd5ba | |
|
aeda455930 |
13
.cvsignore
13
.cvsignore
|
@ -1,13 +0,0 @@
|
||||||
.build*.log
|
|
||||||
*.rpm
|
|
||||||
i686
|
|
||||||
x86_64
|
|
||||||
libvirt-*.tar.gz
|
|
||||||
libvirt-0.6.0.tar.gz
|
|
||||||
libvirt-0.6.1.tar.gz
|
|
||||||
libvirt-0.6.2.tar.gz
|
|
||||||
libvirt-0.6.3.tar.gz
|
|
||||||
libvirt-0.6.4.tar.gz
|
|
||||||
libvirt-0.6.5.tar.gz
|
|
||||||
libvirt-0.7.0.tar.gz
|
|
||||||
libvirt-0.7.1.tar.gz
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
.build*.log
|
||||||
|
*.rpm
|
||||||
|
i686
|
||||||
|
x86_64
|
||||||
|
libvirt-*.tar.xz
|
2
Makefile
2
Makefile
|
@ -4,7 +4,7 @@ NAME := libvirt
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
SPECFILE = $(firstword $(wildcard *.spec))
|
||||||
|
|
||||||
define find-makefile-common
|
define find-makefile-common
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||||
endef
|
endef
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
From bcd4180124afa20580d720912e2179b3a2f9295a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Veillard <veillard@redhat.com>
|
|
||||||
Date: Mon, 5 Oct 2009 17:03:14 +0200
|
|
||||||
Subject: [PATCH] 526769 change logrotate config default to weekly
|
|
||||||
|
|
||||||
* daemon/libvirtd.logrotate.in: change to weekly rotation of logs,
|
|
||||||
keep a month worth of data and also extend to cover LXC and UML
|
|
||||||
domain logs
|
|
||||||
|
|
||||||
(cherry picked from commit 529325bbdd050af89bda5a5c1a01b5553c49a57e)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-change-logrotate-config-to-weekly.patch
|
|
||||||
---
|
|
||||||
qemud/libvirtd.logrotate.in | 6 +++---
|
|
||||||
1 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/qemud/libvirtd.logrotate.in b/qemud/libvirtd.logrotate.in
|
|
||||||
index 9b42630..093651c 100644
|
|
||||||
--- a/qemud/libvirtd.logrotate.in
|
|
||||||
+++ b/qemud/libvirtd.logrotate.in
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
-@localstatedir@/log/libvirt/qemu/*.log {
|
|
||||||
- daily
|
|
||||||
+@localstatedir@/log/libvirt/qemu/*.log @localstatedir@/log/libvirt/uml/*.log @localstatedir@/log/libvirt/lxc/*.log {
|
|
||||||
+ weekly
|
|
||||||
missingok
|
|
||||||
- rotate 7
|
|
||||||
+ rotate 4
|
|
||||||
compress
|
|
||||||
delaycompress
|
|
||||||
copytruncate
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
From 4721ceb9b85daabe53804627473b06ced821c695 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel P. Berrange <berrange@redhat.com>
|
|
||||||
Date: Mon, 14 Sep 2009 11:23:20 +0100
|
|
||||||
Subject: [PATCH] Allow control over QEMU audio backend
|
|
||||||
|
|
||||||
When using VNC for graphics + keyboard + mouse, we shouldn't
|
|
||||||
then use the host OS for audio. Audio should go back over
|
|
||||||
VNC.
|
|
||||||
|
|
||||||
When using SDL for graphics, we should use the host OS for
|
|
||||||
audio since that's where the display is. We need to allow
|
|
||||||
certain QEMU env variables to be passed through to guest
|
|
||||||
too to allow choice of QEMU audio backend.
|
|
||||||
|
|
||||||
* qemud/libvirtd.sysconf: Mention QEMU/SDL audio env vars
|
|
||||||
* src/qemu_conf.c: Passthrough QEMU/SDL audio env for SDL display,
|
|
||||||
disable host audio for VNC display
|
|
||||||
|
|
||||||
(cherry picked from commit b08e6d38ae7a0ed70300d7d82107f83fddb60f44)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-disable-audio-backend.patch
|
|
||||||
---
|
|
||||||
qemud/libvirtd.sysconf | 8 ++++++++
|
|
||||||
src/qemu_conf.c | 14 ++++++++++++++
|
|
||||||
2 files changed, 22 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/qemud/libvirtd.sysconf b/qemud/libvirtd.sysconf
|
|
||||||
index fe4596a..28080a0 100644
|
|
||||||
--- a/qemud/libvirtd.sysconf
|
|
||||||
+++ b/qemud/libvirtd.sysconf
|
|
||||||
@@ -7,3 +7,11 @@
|
|
||||||
|
|
||||||
# Override Kerberos service keytab for SASL/GSSAPI
|
|
||||||
#KRB5_KTNAME=/etc/libvirt/krb5.tab
|
|
||||||
+
|
|
||||||
+# Override the QEMU/SDL default audio driver probing when
|
|
||||||
+# starting virtual machines using SDL graphics
|
|
||||||
+#
|
|
||||||
+# NB these have no effect for VMs using VNC
|
|
||||||
+#QEMU_AUDIO_DRV=sdl
|
|
||||||
+#
|
|
||||||
+#SDL_AUDIODRIVER=pulse
|
|
||||||
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
|
||||||
index f92bcef..0dd0624 100644
|
|
||||||
--- a/src/qemu_conf.c
|
|
||||||
+++ b/src/qemu_conf.c
|
|
||||||
@@ -2109,6 +2109,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|
||||||
ADD_ARG_LIT("-k");
|
|
||||||
ADD_ARG_LIT(def->graphics[0]->data.vnc.keymap);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* QEMU implements a VNC extension for providing audio, so we
|
|
||||||
+ * set the audio backend to none, to prevent it opening the
|
|
||||||
+ * host OS audio devices since that causes security issues
|
|
||||||
+ * and is non-sensical when using VNC.
|
|
||||||
+ */
|
|
||||||
+ ADD_ENV_LIT("QEMU_AUDIO_DRV=none");
|
|
||||||
} else if ((def->ngraphics == 1) &&
|
|
||||||
def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
|
|
||||||
char *xauth = NULL;
|
|
||||||
@@ -2131,6 +2138,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|
||||||
ADD_ENV(display);
|
|
||||||
if (def->graphics[0]->data.sdl.fullscreen)
|
|
||||||
ADD_ARG_LIT("-full-screen");
|
|
||||||
+
|
|
||||||
+ /* If using SDL for video, then we should just let it
|
|
||||||
+ * use QEMU's host audio drivers, possibly SDL too
|
|
||||||
+ * User can set these two before starting libvirtd
|
|
||||||
+ */
|
|
||||||
+ ADD_ENV_COPY("QEMU_AUDIO_DRV");
|
|
||||||
+ ADD_ENV_COPY("SDL_AUDIODRIVER");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (def->nvideos) {
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,31 +0,0 @@
|
||||||
From a5fa9f63fcffbf70465386672f24edac439866b9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel P. Berrange <berrange@redhat.com>
|
|
||||||
Date: Thu, 24 Sep 2009 15:42:25 +0100
|
|
||||||
Subject: [PATCH] Fix crash in device hotplug cleanup code
|
|
||||||
|
|
||||||
* src/qemu/qemu_driver.c: Fix crash in scenario where XML
|
|
||||||
parsing of hotplugged device failed & thus 'dev' is NULL
|
|
||||||
|
|
||||||
(cherry picked from commit 879cd8cc2ba00f795913f296556e05f25afa7877)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-crash-on-device-hotplug-parse-error.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index 0ce403c..c956258 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -5912,7 +5912,7 @@ cleanup:
|
|
||||||
if (cgroup)
|
|
||||||
virCgroupFree(&cgroup);
|
|
||||||
|
|
||||||
- if (ret < 0) {
|
|
||||||
+ if (ret < 0 && dev != NULL) {
|
|
||||||
if (qemuDomainSetDeviceOwnership(dom->conn, driver, dev, 1) < 0)
|
|
||||||
VIR_WARN0("Fail to restore disk device ownership");
|
|
||||||
virDomainDeviceDefFree(dev);
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
From 7bc1491deba6338e514504d1b68fe097e7f2bf19 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Veillard <veillard@redhat.com>
|
|
||||||
Date: Thu, 1 Oct 2009 11:54:38 +0200
|
|
||||||
Subject: [PATCH] Avoid a libvirtd crash on broken input 523418
|
|
||||||
|
|
||||||
* src/conf/domain_conf.c: a simple typo in an XML domain file could lead
|
|
||||||
to a crash, because we called STRPREFIX() on the looked up value without
|
|
||||||
checking it was non-null.
|
|
||||||
|
|
||||||
(cherry picked from commit 79d233b5ca62f86ab22d271d1f08ec20060eee88)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-crash-on-missing-iface-target-dev.patch
|
|
||||||
---
|
|
||||||
src/domain_conf.c | 3 ++-
|
|
||||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/domain_conf.c b/src/domain_conf.c
|
|
||||||
index c424c67..476cdd7 100644
|
|
||||||
--- a/src/domain_conf.c
|
|
||||||
+++ b/src/domain_conf.c
|
|
||||||
@@ -1031,7 +1031,8 @@ virDomainNetDefParseXML(virConnectPtr conn,
|
|
||||||
} else if ((ifname == NULL) &&
|
|
||||||
xmlStrEqual(cur->name, BAD_CAST "target")) {
|
|
||||||
ifname = virXMLPropString(cur, "dev");
|
|
||||||
- if (STRPREFIX((const char*)ifname, "vnet")) {
|
|
||||||
+ if ((ifname != NULL) &&
|
|
||||||
+ (STRPREFIX((const char*)ifname, "vnet"))) {
|
|
||||||
/* An auto-generated target name, blank it out */
|
|
||||||
VIR_FREE(ifname);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
From 58c38896a67c170063401d8091bae7dca8842923 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jiri Denemark <jdenemar@redhat.com>
|
|
||||||
Date: Wed, 23 Sep 2009 18:46:23 +0200
|
|
||||||
Subject: [PATCH] Fix a typo in virDiskHasValidPciAddr()
|
|
||||||
|
|
||||||
(cherry-picked from commit 3620e3cdcfe56cc4475b5ef1a0a893757240b795)
|
|
||||||
|
|
||||||
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
||||||
Fedora-patch: libvirt-fix-device-detach-typo1.patch
|
|
||||||
---
|
|
||||||
src/domain_conf.h | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/domain_conf.h b/src/domain_conf.h
|
|
||||||
index 09368d9..d494e54 100644
|
|
||||||
--- a/src/domain_conf.h
|
|
||||||
+++ b/src/domain_conf.h
|
|
||||||
@@ -125,7 +125,7 @@ struct _virDomainDiskDef {
|
|
||||||
static inline int
|
|
||||||
virDiskHasValidPciAddr(virDomainDiskDefPtr def)
|
|
||||||
{
|
|
||||||
- return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot;
|
|
||||||
+ return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
From 81e967c716ce8c085be8baad9169f7772452d187 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Thu, 24 Sep 2009 08:55:55 +0100
|
|
||||||
Subject: [PATCH] Fix a typo in virNetHasValidPciAddr() too
|
|
||||||
|
|
||||||
* src/domain_conf.h: check domain/bus/slot, not domain/domain/slot
|
|
||||||
|
|
||||||
(cherry-picked from commit 6bfffce91635bb08de601747e94ed1182c0f47eb)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-device-detach-typo2.patch
|
|
||||||
---
|
|
||||||
src/domain_conf.h | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/domain_conf.h b/src/domain_conf.h
|
|
||||||
index d494e54..7c918a7 100644
|
|
||||||
--- a/src/domain_conf.h
|
|
||||||
+++ b/src/domain_conf.h
|
|
||||||
@@ -207,7 +207,7 @@ struct _virDomainNetDef {
|
|
||||||
static inline int
|
|
||||||
virNetHasValidPciAddr(virDomainNetDefPtr def)
|
|
||||||
{
|
|
||||||
- return def->pci_addr.domain || def->pci_addr.domain || def->pci_addr.slot;
|
|
||||||
+ return def->pci_addr.domain || def->pci_addr.bus || def->pci_addr.slot;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum virDomainChrSrcType {
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
From 3a64779ec5a89d38d64e07bca2b11b19e1882d7a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Charles Duffy <charles@dyfis.net>
|
|
||||||
Date: Thu, 24 Sep 2009 09:00:24 +0100
|
|
||||||
Subject: [PATCH] Fix unitialized variable in qemudDomainDetachHostPciDevice()
|
|
||||||
|
|
||||||
* src/qemu_driver.c: initialize detach var
|
|
||||||
|
|
||||||
(cherry-picked from commit 580ad29288751234bee47ac9f6c04dac1dc529ea)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-device-detach-typo3.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index 7c7b985..550a59c 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -6126,7 +6126,7 @@ static int qemudDomainDetachHostPciDevice(virConnectPtr conn,
|
|
||||||
virDomainObjPtr vm,
|
|
||||||
virDomainDeviceDefPtr dev)
|
|
||||||
{
|
|
||||||
- virDomainHostdevDefPtr detach;
|
|
||||||
+ virDomainHostdevDefPtr detach = NULL;
|
|
||||||
char *cmd, *reply;
|
|
||||||
int i, ret;
|
|
||||||
pciDevice *pci;
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
From 7692e1e19487c28454b1e5f6488d5574c70883f2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Chris Lalancette <clalance@redhat.com>
|
|
||||||
Date: Mon, 21 Sep 2009 14:53:31 +0200
|
|
||||||
Subject: [PATCH] Don't do virSetConnError when virDrvSupportsFeature is successful.
|
|
||||||
|
|
||||||
Signed-off-by: Chris Lalancette <clalance@redhat.com>
|
|
||||||
Fedora-patch: libvirt-fix-drv-supports-feature-bogus-error.patch
|
|
||||||
---
|
|
||||||
src/libvirt.c | 7 +++++--
|
|
||||||
1 files changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libvirt.c b/src/libvirt.c
|
|
||||||
index 4a11688..fa59dc7 100644
|
|
||||||
--- a/src/libvirt.c
|
|
||||||
+++ b/src/libvirt.c
|
|
||||||
@@ -1349,8 +1349,11 @@ virDrvSupportsFeature (virConnectPtr conn, int feature)
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = VIR_DRV_SUPPORTS_FEATURE (conn->driver, conn, feature);
|
|
||||||
- /* Copy to connection error object for back compatability */
|
|
||||||
- virSetConnError(conn);
|
|
||||||
+
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ /* Copy to connection error object for back compatability */
|
|
||||||
+ virSetConnError(conn);
|
|
||||||
+
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
From 71de8d92f20a9a9ee76d4d5df77ff477f1b7d441 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Bolte <matthias.bolte@googlemail.com>
|
|
||||||
Date: Wed, 30 Sep 2009 02:17:27 +0200
|
|
||||||
Subject: [PATCH] Fix memory leaks in libvirtd's message processing
|
|
||||||
|
|
||||||
Commit 47cab734995fa9521b1df05d37e9978eedd8d3a2 changed the way how
|
|
||||||
qemud_client_message objects were reused. Before this commit
|
|
||||||
remoteDispatchClientRequest() reused the received message for normal responses
|
|
||||||
and to report non-fatal errors. If a fatal error occurred qemudWorker() frees
|
|
||||||
the message. After this commit non-fatal errors are reported by
|
|
||||||
remoteSerializeReplyError() using a new qemud_client_message object and the
|
|
||||||
original message leaks.
|
|
||||||
|
|
||||||
To fix this leak the original message has to be freed if
|
|
||||||
remoteSerializeReplyError() succeeds. If remoteSerializeReplyError()
|
|
||||||
fails the original message is freed in qemudWorker().
|
|
||||||
|
|
||||||
* daemon/dispatch.c: free qemud_client_message objects that will not be reused
|
|
||||||
and would leak otherwise, also free the allocated qemud_client_message object
|
|
||||||
in remoteSerializeError() if an error occurs
|
|
||||||
|
|
||||||
(cherry-picked from commit c6f1459eb998619ab21a92d9bb87341f26978181)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-libvirtd-leak-in-error-reply.patch
|
|
||||||
---
|
|
||||||
qemud/dispatch.c | 15 +++++++++++++--
|
|
||||||
1 files changed, 13 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/qemud/dispatch.c b/qemud/dispatch.c
|
|
||||||
index a60f2f4..ddb3215 100644
|
|
||||||
--- a/qemud/dispatch.c
|
|
||||||
+++ b/qemud/dispatch.c
|
|
||||||
@@ -191,6 +191,7 @@ remoteSerializeError(struct qemud_client *client,
|
|
||||||
|
|
||||||
xdr_error:
|
|
||||||
xdr_destroy(&xdr);
|
|
||||||
+ VIR_FREE(msg);
|
|
||||||
fatal_error:
|
|
||||||
xdr_free((xdrproc_t)xdr_remote_error, (char *)rerr);
|
|
||||||
return -1;
|
|
||||||
@@ -336,6 +337,7 @@ remoteDispatchClientRequest (struct qemud_server *server,
|
|
||||||
struct qemud_client *client,
|
|
||||||
struct qemud_client_message *msg)
|
|
||||||
{
|
|
||||||
+ int ret;
|
|
||||||
remote_error rerr;
|
|
||||||
|
|
||||||
memset(&rerr, 0, sizeof rerr);
|
|
||||||
@@ -364,7 +366,12 @@ remoteDispatchClientRequest (struct qemud_server *server,
|
|
||||||
}
|
|
||||||
|
|
||||||
error:
|
|
||||||
- return remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
|
||||||
+ ret = remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
|
||||||
+
|
|
||||||
+ if (ret >= 0)
|
|
||||||
+ VIR_FREE(msg);
|
|
||||||
+
|
|
||||||
+ return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -521,8 +528,12 @@ remoteDispatchClientCall (struct qemud_server *server,
|
|
||||||
rpc_error:
|
|
||||||
/* Semi-bad stuff happened, we can still try to send back
|
|
||||||
* an RPC error message to client */
|
|
||||||
- return remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
|
||||||
+ rv = remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
|
||||||
+
|
|
||||||
+ if (rv >= 0)
|
|
||||||
+ VIR_FREE(msg);
|
|
||||||
|
|
||||||
+ return rv;
|
|
||||||
|
|
||||||
xdr_error:
|
|
||||||
/* Seriously bad stuff happened, so we'll kill off this client
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
From ba585ed6cff624c6c0f1f9801382fd6846466ee0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Thu, 17 Sep 2009 15:31:08 +0100
|
|
||||||
Subject: [PATCH] Fix net/disk hot-unplug segfault
|
|
||||||
|
|
||||||
When we hot-unplug the last device, we're currently double-freeing
|
|
||||||
the device definition.
|
|
||||||
|
|
||||||
Reported by Michal Nowak here:
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/523953
|
|
||||||
|
|
||||||
* src/qemu_driver.c: fix double free
|
|
||||||
|
|
||||||
(cherry-picked from commit 8881ae1bf8783006777429403cc543c33187175d)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-net-hotunplug-double-free.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 4 ++--
|
|
||||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index a65334f..de31581 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -5998,7 +5998,7 @@ try_command:
|
|
||||||
/* ignore, harmless */
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- VIR_FREE(vm->def->disks[0]);
|
|
||||||
+ VIR_FREE(vm->def->disks);
|
|
||||||
vm->def->ndisks = 0;
|
|
||||||
}
|
|
||||||
virDomainDiskDefFree(detach);
|
|
||||||
@@ -6100,7 +6100,7 @@ qemudDomainDetachNetDevice(virConnectPtr conn,
|
|
||||||
/* ignore, harmless */
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- VIR_FREE(vm->def->nets[0]);
|
|
||||||
+ VIR_FREE(vm->def->nets);
|
|
||||||
vm->def->nnets = 0;
|
|
||||||
}
|
|
||||||
virDomainNetDefFree(detach);
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
From 17831d20051f8de8f1f7d661e8a23f4fe67c2153 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Thu, 17 Sep 2009 15:32:45 +0100
|
|
||||||
Subject: [PATCH] Fix leak in PCI hostdev hot-unplug
|
|
||||||
|
|
||||||
* src/qemu_driver.c: sync the hostdev hot-unplug code with the disk/net
|
|
||||||
code.
|
|
||||||
|
|
||||||
(cherry-picked from commit a70da51ff76ed860bfc0cdee2e1d556da997c557)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-pci-hostdev-hotunplug-leak.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 20 +++++++++++++-------
|
|
||||||
1 files changed, 13 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index de31581..2ddcdc0 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -6206,14 +6206,20 @@ static int qemudDomainDetachHostPciDevice(virConnectPtr conn,
|
|
||||||
pciFreeDevice(conn, pci);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (i != --vm->def->nhostdevs)
|
|
||||||
- memmove(&vm->def->hostdevs[i],
|
|
||||||
- &vm->def->hostdevs[i+1],
|
|
||||||
- sizeof(*vm->def->hostdevs) * (vm->def->nhostdevs-i));
|
|
||||||
- if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs) < 0) {
|
|
||||||
- virReportOOMError(conn);
|
|
||||||
- ret = -1;
|
|
||||||
+ if (vm->def->nhostdevs > 1) {
|
|
||||||
+ memmove(vm->def->hostdevs + i,
|
|
||||||
+ vm->def->hostdevs + i + 1,
|
|
||||||
+ sizeof(*vm->def->hostdevs) *
|
|
||||||
+ (vm->def->nhostdevs - (i + 1)));
|
|
||||||
+ vm->def->nhostdevs--;
|
|
||||||
+ if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs) < 0) {
|
|
||||||
+ /* ignore, harmless */
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ VIR_FREE(vm->def->hostdevs);
|
|
||||||
+ vm->def->nhostdevs = 0;
|
|
||||||
}
|
|
||||||
+ virDomainHostdevDefFree(detach);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
From f1be5a4714e194a84840343e0937fe62463a18dc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Charles Duffy <Charles_Duffy@dell.com>
|
|
||||||
Date: Fri, 18 Sep 2009 11:32:35 -0500
|
|
||||||
Subject: [PATCH] Prevent attempt to call cat -c during virDomainSave to raw
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-qemu-raw-format-save.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 28 ++++++++++++++++++----------
|
|
||||||
1 files changed, 18 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index 2ddcdc0..7c7b985 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -3905,17 +3905,25 @@ static int qemudDomainSave(virDomainPtr dom,
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
- const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
|
||||||
- if (prog == NULL) {
|
|
||||||
- qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
|
||||||
- _("Invalid compress format %d"), header.compressed);
|
|
||||||
- goto cleanup;
|
|
||||||
- }
|
|
||||||
+ {
|
|
||||||
+ const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
|
||||||
+ const char *args;
|
|
||||||
|
|
||||||
- if (STREQ (prog, "raw"))
|
|
||||||
- prog = "cat";
|
|
||||||
- internalret = virAsprintf(&command, "migrate \"exec:"
|
|
||||||
- "%s -c >> '%s' 2>/dev/null\"", prog, safe_path);
|
|
||||||
+ if (prog == NULL) {
|
|
||||||
+ qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
|
||||||
+ _("Invalid compress format %d"), header.compressed);
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (STREQ (prog, "raw")) {
|
|
||||||
+ prog = "cat";
|
|
||||||
+ args = "";
|
|
||||||
+ } else {
|
|
||||||
+ args = "-c";
|
|
||||||
+ }
|
|
||||||
+ internalret = virAsprintf(&command, "migrate \"exec:"
|
|
||||||
+ "%s %s >> '%s' 2>/dev/null\"", prog, args, safe_path);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (internalret < 0) {
|
|
||||||
virReportOOMError(dom->conn);
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From 0b846a30468a6b4586407f020ccde7bb51afaf98 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel P. Berrange <berrange@redhat.com>
|
|
||||||
Date: Mon, 12 Oct 2009 20:03:50 +0100
|
|
||||||
Subject: [PATCH] Fix QEMU restore from file in raw format
|
|
||||||
|
|
||||||
The logic for running the decompression programs was broken in
|
|
||||||
commit f238709304f9f6c57204cdd943e542cbae38fa5f, so that for
|
|
||||||
non-raw formats the decompression program was never run, and
|
|
||||||
for raw formats, it tried to exec an argv[] with initial NULL
|
|
||||||
in the program name.
|
|
||||||
|
|
||||||
* src/qemu/qemu_driver.c: Fix logic in runing decompression program
|
|
||||||
|
|
||||||
(cherry picked from commit 74b379cbd5ba9f472a3a2d5710e497966b1a3a37)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-qemu-restore-from-raw1.patch
|
|
||||||
---
|
|
||||||
src/qemu_driver.c | 3 +--
|
|
||||||
1 files changed, 1 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
||||||
index 550a59c..0ce403c 100644
|
|
||||||
--- a/src/qemu_driver.c
|
|
||||||
+++ b/src/qemu_driver.c
|
|
||||||
@@ -4541,9 +4541,8 @@ static int qemudDomainRestore(virConnectPtr conn,
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (header.compressed != QEMUD_SAVE_FORMAT_RAW)
|
|
||||||
+ if (header.compressed != QEMUD_SAVE_FORMAT_RAW) {
|
|
||||||
intermediate_argv[0] = prog;
|
|
||||||
- else {
|
|
||||||
intermediatefd = fd;
|
|
||||||
fd = -1;
|
|
||||||
if (virExec(conn, intermediate_argv, NULL, NULL,
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,120 +0,0 @@
|
||||||
From 57d7cc602d14c6b50e2826e427a5de124e479f95 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel P. Berrange <berrange@redhat.com>
|
|
||||||
Date: Mon, 12 Oct 2009 20:32:33 +0100
|
|
||||||
Subject: [PATCH] Fix virFileReadLimFD/virFileReadAll to handle EINTR
|
|
||||||
|
|
||||||
The fread_file_lim() function uses fread() but never handles
|
|
||||||
EINTR results, causing unexpected failures when reading QEMU
|
|
||||||
help arg info. It was unneccessarily using FILE * instead
|
|
||||||
of plain UNIX file handles, which prevented use of saferead()
|
|
||||||
|
|
||||||
* src/util/util.c: Switch fread_file_lim over to use saferead
|
|
||||||
instead of fread, remove FILE * use, and rename
|
|
||||||
|
|
||||||
(cherry picked from commit 11a36d956cb8a5e439e535bff3e0cfce50a64bca)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-qemu-restore-from-raw2.patch
|
|
||||||
---
|
|
||||||
src/util.c | 45 ++++++++++++---------------------------------
|
|
||||||
1 files changed, 12 insertions(+), 33 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/util.c b/src/util.c
|
|
||||||
index 1878e33..7bc3a66 100644
|
|
||||||
--- a/src/util.c
|
|
||||||
+++ b/src/util.c
|
|
||||||
@@ -887,7 +887,7 @@ virExec(virConnectPtr conn,
|
|
||||||
number of bytes. If the length of the input is <= max_len, and
|
|
||||||
upon error while reading that data, it works just like fread_file. */
|
|
||||||
static char *
|
|
||||||
-fread_file_lim (FILE *stream, size_t max_len, size_t *length)
|
|
||||||
+saferead_lim (int fd, size_t max_len, size_t *length)
|
|
||||||
{
|
|
||||||
char *buf = NULL;
|
|
||||||
size_t alloc = 0;
|
|
||||||
@@ -895,8 +895,8 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length)
|
|
||||||
int save_errno;
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
- size_t count;
|
|
||||||
- size_t requested;
|
|
||||||
+ int count;
|
|
||||||
+ int requested;
|
|
||||||
|
|
||||||
if (size + BUFSIZ + 1 > alloc) {
|
|
||||||
alloc += alloc / 2;
|
|
||||||
@@ -912,12 +912,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length)
|
|
||||||
/* Ensure that (size + requested <= max_len); */
|
|
||||||
requested = MIN (size < max_len ? max_len - size : 0,
|
|
||||||
alloc - size - 1);
|
|
||||||
- count = fread (buf + size, 1, requested, stream);
|
|
||||||
+ count = saferead (fd, buf + size, requested);
|
|
||||||
size += count;
|
|
||||||
|
|
||||||
if (count != requested || requested == 0) {
|
|
||||||
save_errno = errno;
|
|
||||||
- if (ferror (stream))
|
|
||||||
+ if (count < 0)
|
|
||||||
break;
|
|
||||||
buf[size] = '\0';
|
|
||||||
*length = size;
|
|
||||||
@@ -930,12 +930,12 @@ fread_file_lim (FILE *stream, size_t max_len, size_t *length)
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* A wrapper around fread_file_lim that maps a failure due to
|
|
||||||
+/* A wrapper around saferead_lim that maps a failure due to
|
|
||||||
exceeding the maximum size limitation to EOVERFLOW. */
|
|
||||||
-static int virFileReadLimFP(FILE *fp, int maxlen, char **buf)
|
|
||||||
+int virFileReadLimFD(int fd, int maxlen, char **buf)
|
|
||||||
{
|
|
||||||
size_t len;
|
|
||||||
- char *s = fread_file_lim (fp, maxlen+1, &len);
|
|
||||||
+ char *s = saferead_lim (fd, maxlen+1, &len);
|
|
||||||
if (s == NULL)
|
|
||||||
return -1;
|
|
||||||
if (len > maxlen || (int)len != len) {
|
|
||||||
@@ -949,37 +949,16 @@ static int virFileReadLimFP(FILE *fp, int maxlen, char **buf)
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* Like virFileReadLimFP, but use a file descriptor rather than a FILE*. */
|
|
||||||
-int virFileReadLimFD(int fd_arg, int maxlen, char **buf)
|
|
||||||
-{
|
|
||||||
- int fd = dup (fd_arg);
|
|
||||||
- if (fd >= 0) {
|
|
||||||
- FILE *fp = fdopen (fd, "r");
|
|
||||||
- if (fp) {
|
|
||||||
- int len = virFileReadLimFP (fp, maxlen, buf);
|
|
||||||
- int saved_errno = errno;
|
|
||||||
- fclose (fp);
|
|
||||||
- errno = saved_errno;
|
|
||||||
- return len;
|
|
||||||
- } else {
|
|
||||||
- int saved_errno = errno;
|
|
||||||
- close (fd);
|
|
||||||
- errno = saved_errno;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- return -1;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
int virFileReadAll(const char *path, int maxlen, char **buf)
|
|
||||||
{
|
|
||||||
- FILE *fh = fopen(path, "r");
|
|
||||||
- if (fh == NULL) {
|
|
||||||
+ int fd = open(path, O_RDONLY);
|
|
||||||
+ if (fd < 0) {
|
|
||||||
virReportSystemError(NULL, errno, _("Failed to open file '%s'"), path);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
- int len = virFileReadLimFP (fh, maxlen, buf);
|
|
||||||
- fclose(fh);
|
|
||||||
+ int len = virFileReadLimFD(fd, maxlen, buf);
|
|
||||||
+ close(fd);
|
|
||||||
if (len < 0) {
|
|
||||||
virReportSystemError(NULL, errno, _("Failed to read file '%s'"), path);
|
|
||||||
return -1;
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
From 6b12148864cf6a1d22a2cf4e0e9c48e9946331cb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Wed, 30 Sep 2009 18:37:03 +0100
|
|
||||||
Subject: [PATCH] Fix USB device re-labelling
|
|
||||||
|
|
||||||
A simple misplaced break out of a switch results in:
|
|
||||||
|
|
||||||
libvir: error : Failed to open file '/sys/bus/pci/devices/0000:00:54c./vendor': No such file or directory
|
|
||||||
libvir: error : Failed to open file '/sys/bus/pci/devices/0000:00:54c./device': No such file or directory
|
|
||||||
libvir: error : this function is not supported by the hypervisor: Failed to read product/vendor ID for 0000:00:54c.
|
|
||||||
|
|
||||||
when trying to passthrough a USB host device to qemu.
|
|
||||||
|
|
||||||
* src/security_selinux.c: fix a switch/break thinko
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-usb-device-passthrough.patch
|
|
||||||
---
|
|
||||||
src/security_selinux.c | 3 +--
|
|
||||||
1 files changed, 1 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/security_selinux.c b/src/security_selinux.c
|
|
||||||
index bc295b1..b4dc153 100644
|
|
||||||
--- a/src/security_selinux.c
|
|
||||||
+++ b/src/security_selinux.c
|
|
||||||
@@ -464,12 +464,11 @@ SELinuxSetSecurityHostdevLabel(virConnectPtr conn,
|
|
||||||
|
|
||||||
ret = usbDeviceFileIterate(conn, usb, SELinuxSetSecurityUSBLabel, vm);
|
|
||||||
usbFreeDevice(conn, usb);
|
|
||||||
-
|
|
||||||
- break;
|
|
||||||
} else {
|
|
||||||
/* XXX deal with product/vendor better */
|
|
||||||
ret = 0;
|
|
||||||
}
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: {
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
From cab81502320d97dac4c5c12e7496f30896709c49 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthias Bolte <matthias.bolte@googlemail.com>
|
|
||||||
Date: Tue, 22 Sep 2009 15:12:48 +0200
|
|
||||||
Subject: [PATCH] Fix xen driver refcounting.
|
|
||||||
|
|
||||||
The commit cb51aa48a777ddae6997faa9f28350cb62655ffd "Fix up connection
|
|
||||||
reference counting." changed the driver closing and virConnectPtr
|
|
||||||
unref-logic in virConnectClose().
|
|
||||||
|
|
||||||
Before this commit virConnectClose() closed all drivers of the given
|
|
||||||
virConnectPtr and virUnrefConnect()'ed it afterwards. After this
|
|
||||||
commit the driver-closing is done in virUnrefConnect() if and only if
|
|
||||||
the ref-count of the virConnectPtr dropped to zero.
|
|
||||||
|
|
||||||
This change in execution order leads to a virConnectPtr leak, at least
|
|
||||||
for connections to Xen.
|
|
||||||
|
|
||||||
The relevant call sequences:
|
|
||||||
|
|
||||||
virConnectOpen() -> xenUnifiedOpen() ...
|
|
||||||
|
|
||||||
... xenInotifyOpen() -> virConnectRef(conn)
|
|
||||||
|
|
||||||
... xenStoreOpen() -> xenStoreAddWatch() -> conn->refs++
|
|
||||||
|
|
||||||
virConnectClose() -> xenUnifiedClose() ...
|
|
||||||
|
|
||||||
... xenInotifyClose() -> virUnrefConnect(conn)
|
|
||||||
|
|
||||||
... xenStoreClose() -> xenStoreRemoveWatch() -> virUnrefConnect(conn)
|
|
||||||
|
|
||||||
Before the commit this additional virConnectRef/virUnrefConnect calls
|
|
||||||
where no problem, because virConnectClose() closed the drivers
|
|
||||||
explicitly and the additional refs added by the Xen subdrivers were
|
|
||||||
removed properly. After the commit this additional refs result in a
|
|
||||||
virConnectPtr leak (including a leak of the hypercall file handle;
|
|
||||||
that's how I noticed this problem), because now the drivers are only
|
|
||||||
close if and only if the ref-count drops to zero, but this cannot
|
|
||||||
happen anymore, because the additional refs from the Xen subdrivers
|
|
||||||
would only be removed if the drivers get closed, but that doesn't
|
|
||||||
happen because the ref-count cannot drop to zero.
|
|
||||||
|
|
||||||
The fix for this problem is simple: remove the
|
|
||||||
virConnectRef/virUnrefConnect calls from the Xen subdrivers (see
|
|
||||||
attached patch). Maybe someone could explain why the Xen Inotify and
|
|
||||||
Xen Store driver do this extra ref-counting, but none of the other Xen
|
|
||||||
subdrivers. It seems unnecessary to me and can be removed without
|
|
||||||
problems.
|
|
||||||
|
|
||||||
Signed-off-by: Chris Lalancette <clalance@redhat.com>
|
|
||||||
|
|
||||||
(cherry picked from commit 6ed7374c5a6c6a2b1b1801d7d041dc7f09748592)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-fix-xen-driver-refcounting.patch
|
|
||||||
---
|
|
||||||
src/xen_inotify.c | 2 --
|
|
||||||
src/xs_internal.c | 3 ---
|
|
||||||
2 files changed, 0 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/xen_inotify.c b/src/xen_inotify.c
|
|
||||||
index e312b9e..ecaefaf 100644
|
|
||||||
--- a/src/xen_inotify.c
|
|
||||||
+++ b/src/xen_inotify.c
|
|
||||||
@@ -463,7 +463,6 @@ xenInotifyOpen(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|
||||||
DEBUG0("Failed to add inotify handle, disabling events");
|
|
||||||
}
|
|
||||||
|
|
||||||
- virConnectRef(conn);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -486,7 +485,6 @@ xenInotifyClose(virConnectPtr conn)
|
|
||||||
if (priv->inotifyWatch != -1)
|
|
||||||
virEventRemoveHandle(priv->inotifyWatch);
|
|
||||||
close(priv->inotifyFD);
|
|
||||||
- virUnrefConnect(conn);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
diff --git a/src/xs_internal.c b/src/xs_internal.c
|
|
||||||
index 1f54b1f..a18dcad 100644
|
|
||||||
--- a/src/xs_internal.c
|
|
||||||
+++ b/src/xs_internal.c
|
|
||||||
@@ -1139,8 +1139,6 @@ int xenStoreAddWatch(virConnectPtr conn,
|
|
||||||
list->watches[n] = watch;
|
|
||||||
list->count++;
|
|
||||||
|
|
||||||
- conn->refs++;
|
|
||||||
-
|
|
||||||
return xs_watch(priv->xshandle, watch->path, watch->token);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1190,7 +1188,6 @@ int xenStoreRemoveWatch(virConnectPtr conn,
|
|
||||||
; /* Failure to reduce memory allocation isn't fatal */
|
|
||||||
}
|
|
||||||
list->count--;
|
|
||||||
- virUnrefConnect(conn);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
From b7e3ac4f23befe67518b57e34691c301820a436c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Tue, 6 Oct 2009 12:33:17 +0100
|
|
||||||
Subject: [PATCH] Create /var/log/libvirt/{lxc,uml} dirs
|
|
||||||
|
|
||||||
Otherwise logrotate barfs:
|
|
||||||
|
|
||||||
error: error accessing /var/log/libvirt/uml: No such file or directory
|
|
||||||
error: libvirtd:1 glob failed for /var/log/libvirt/uml/*.log
|
|
||||||
error: found error in /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/libvirt/lxc/*.log , skipping
|
|
||||||
|
|
||||||
* qemud/Makefile.am: always create /var/log/libvirt/{lxc,uml} when
|
|
||||||
installing the logrotate conf; not ideal, but easier than making
|
|
||||||
the logrotate conf depend on which drivers are enabled
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-logrotate-create-lxc-uml-dirs.patch
|
|
||||||
---
|
|
||||||
qemud/Makefile.am | 6 ++++--
|
|
||||||
1 files changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
|
|
||||||
index 3d143da..a7f4bdf 100644
|
|
||||||
--- a/qemud/Makefile.am
|
|
||||||
+++ b/qemud/Makefile.am
|
|
||||||
@@ -176,7 +176,7 @@ install-data-local: install-init install-data-sasl install-data-polkit \
|
|
||||||
test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
|
|
||||||
ln -s ../default.xml \
|
|
||||||
$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
|
|
||||||
- mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu
|
|
||||||
+ mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt
|
|
||||||
mkdir -p $(DESTDIR)$(localstatedir)/run/libvirt
|
|
||||||
mkdir -p $(DESTDIR)$(localstatedir)/lib/libvirt
|
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ uninstall-local:: uninstall-init uninstall-data-sasl install-data-polkit
|
|
||||||
rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
|
|
||||||
rm -f $(DESTDIR)$(sysconfdir)/$(default_xml_dest)
|
|
||||||
rmdir $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart || :
|
|
||||||
- rmdir $(DESTDIR)$(localstatedir)/log/libvirt/qemu || :
|
|
||||||
+ rmdir $(DESTDIR)$(localstatedir)/log/libvirt || :
|
|
||||||
rmdir $(DESTDIR)$(localstatedir)/run/libvirt || :
|
|
||||||
rmdir $(DESTDIR)$(localstatedir)/lib/libvirt || :
|
|
||||||
|
|
||||||
@@ -240,6 +240,8 @@ libvirtd.logrotate: libvirtd.logrotate.in
|
|
||||||
|
|
||||||
install-logrotate: libvirtd.logrotate
|
|
||||||
mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/qemu/
|
|
||||||
+ mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/lxc/
|
|
||||||
+ mkdir -p $(DESTDIR)$(localstatedir)/log/libvirt/uml/
|
|
||||||
mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d/
|
|
||||||
$(INSTALL_DATA) $< $(DESTDIR)$(sysconfdir)/logrotate.d/libvirtd
|
|
||||||
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
From ba3bc9b22a21b8e9e110166c98be70e2ad6469cb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Cole Robinson <crobinso@redhat.com>
|
|
||||||
Date: Tue, 13 Oct 2009 11:31:27 -0400
|
|
||||||
Subject: [PATCH] network: Fix printing XML 'delay' attribute
|
|
||||||
|
|
||||||
When specifying bridge delay via network XML define, we were looking for
|
|
||||||
the 'delay' attribute, but would dump the value as 'forwardDelay'. Have
|
|
||||||
the output match the expected input (and schema).
|
|
||||||
|
|
||||||
(cherry picked from commit 3b13aa3db37bf5a692bccfa015a01999043e797b)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-network-delay-attribute-formatting.patch
|
|
||||||
---
|
|
||||||
src/network_conf.c | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/network_conf.c b/src/network_conf.c
|
|
||||||
index 3764bb4..f75c457 100644
|
|
||||||
--- a/src/network_conf.c
|
|
||||||
+++ b/src/network_conf.c
|
|
||||||
@@ -587,7 +587,7 @@ char *virNetworkDefFormat(virConnectPtr conn,
|
|
||||||
virBufferAddLit(&buf, " <bridge");
|
|
||||||
if (def->bridge)
|
|
||||||
virBufferEscapeString(&buf, " name='%s'", def->bridge);
|
|
||||||
- virBufferVSprintf(&buf, " stp='%s' forwardDelay='%ld' />\n",
|
|
||||||
+ virBufferVSprintf(&buf, " stp='%s' delay='%ld' />\n",
|
|
||||||
def->stp ? "on" : "off",
|
|
||||||
def->delay);
|
|
||||||
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,177 +0,0 @@
|
||||||
From d7722ed1cb04aa8a7b9fbf880882841867b69ab0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Mon, 12 Oct 2009 10:52:13 +0100
|
|
||||||
Subject: [PATCH] Take domain type into account when looking up default machine
|
|
||||||
|
|
||||||
If one has e.g.
|
|
||||||
|
|
||||||
<guest>
|
|
||||||
<os_type>hvm</os_type>
|
|
||||||
<arch name='x86_64'>
|
|
||||||
<wordsize>64</wordsize>
|
|
||||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
|
||||||
<machine>pc-0.11</machine>
|
|
||||||
<machine canonical='pc-0.11'>pc</machine>
|
|
||||||
<machine>pc-0.10</machine>
|
|
||||||
<machine>isapc</machine>
|
|
||||||
<domain type='qemu'>
|
|
||||||
</domain>
|
|
||||||
<domain type='kvm'>
|
|
||||||
<emulator>/usr/bin/kvm</emulator>
|
|
||||||
<machine>pc</machine>
|
|
||||||
<machine>isapc</machine>
|
|
||||||
</domain>
|
|
||||||
</arch>
|
|
||||||
</guest>
|
|
||||||
|
|
||||||
and start a guest with:
|
|
||||||
|
|
||||||
<domain type='kvm'>
|
|
||||||
...
|
|
||||||
<os>
|
|
||||||
<type arch='x86_64'>hvm</type>
|
|
||||||
...
|
|
||||||
</os>
|
|
||||||
</domain>
|
|
||||||
|
|
||||||
then the default machine type should be 'pc' and not 'pc-0.11'
|
|
||||||
|
|
||||||
Issue was reported by Anton Protopopov.
|
|
||||||
|
|
||||||
* src/capabilities.[ch]: pass the domain type to
|
|
||||||
virCapabilitiesDefaultGuestArch() and use it to look up the default
|
|
||||||
machine type from a specific guest domain if needed.
|
|
||||||
|
|
||||||
* src/conf/domain_conf.c, src/xen/xm_internal.c: update
|
|
||||||
|
|
||||||
* tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml: update
|
|
||||||
the domain type to 'kvm' and remove the machine type to check
|
|
||||||
that the default gets looked up correctly
|
|
||||||
|
|
||||||
(cherry picked from commit 73c901a8075c09203545fc81164c1e5f11c67c89)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-qemu-machine-type-fixes1.patch
|
|
||||||
---
|
|
||||||
src/capabilities.c | 31 ++++++++++++++++---
|
|
||||||
src/capabilities.h | 3 +-
|
|
||||||
src/domain_conf.c | 3 +-
|
|
||||||
src/xm_internal.c | 3 +-
|
|
||||||
.../qemuxml2argv-machine-aliases2.xml | 4 +-
|
|
||||||
5 files changed, 34 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/capabilities.c b/src/capabilities.c
|
|
||||||
index 38fe7fc..6ebddf5 100644
|
|
||||||
--- a/src/capabilities.c
|
|
||||||
+++ b/src/capabilities.c
|
|
||||||
@@ -549,22 +549,43 @@ virCapabilitiesDefaultGuestArch(virCapsPtr caps,
|
|
||||||
* @caps: capabilities to query
|
|
||||||
* @ostype: OS type to search for
|
|
||||||
* @arch: architecture to search for
|
|
||||||
+ * @domain: domain type to search for
|
|
||||||
*
|
|
||||||
* Returns the first machine variant associated with
|
|
||||||
- * the requested operating system type and architecture
|
|
||||||
+ * the requested operating system type, architecture
|
|
||||||
+ * and domain type
|
|
||||||
*/
|
|
||||||
extern const char *
|
|
||||||
virCapabilitiesDefaultGuestMachine(virCapsPtr caps,
|
|
||||||
const char *ostype,
|
|
||||||
- const char *arch)
|
|
||||||
+ const char *arch,
|
|
||||||
+ const char *domain)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
+
|
|
||||||
for (i = 0 ; i < caps->nguests ; i++) {
|
|
||||||
- if (STREQ(caps->guests[i]->ostype, ostype) &&
|
|
||||||
- STREQ(caps->guests[i]->arch.name, arch) &&
|
|
||||||
- caps->guests[i]->arch.defaultInfo.nmachines)
|
|
||||||
+ virCapsGuestPtr guest = caps->guests[i];
|
|
||||||
+ int j;
|
|
||||||
+
|
|
||||||
+ if (!STREQ(guest->ostype, ostype) || !STREQ(guest->arch.name, arch))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ for (j = 0; j < guest->arch.ndomains; j++) {
|
|
||||||
+ virCapsGuestDomainPtr dom= guest->arch.domains[j];
|
|
||||||
+
|
|
||||||
+ if (!STREQ(dom->type, domain))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ if (!dom->info.nmachines)
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ return dom->info.machines[0]->name;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (guest->arch.defaultInfo.nmachines)
|
|
||||||
return caps->guests[i]->arch.defaultInfo.machines[0]->name;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/capabilities.h b/src/capabilities.h
|
|
||||||
index b958d95..2f24605 100644
|
|
||||||
--- a/src/capabilities.h
|
|
||||||
+++ b/src/capabilities.h
|
|
||||||
@@ -207,7 +207,8 @@ virCapabilitiesDefaultGuestArch(virCapsPtr caps,
|
|
||||||
extern const char *
|
|
||||||
virCapabilitiesDefaultGuestMachine(virCapsPtr caps,
|
|
||||||
const char *ostype,
|
|
||||||
- const char *arch);
|
|
||||||
+ const char *arch,
|
|
||||||
+ const char *domain);
|
|
||||||
extern const char *
|
|
||||||
virCapabilitiesDefaultGuestEmulator(virCapsPtr caps,
|
|
||||||
const char *ostype,
|
|
||||||
diff --git a/src/domain_conf.c b/src/domain_conf.c
|
|
||||||
index 5ae0775..c424c67 100644
|
|
||||||
--- a/src/domain_conf.c
|
|
||||||
+++ b/src/domain_conf.c
|
|
||||||
@@ -2664,7 +2664,8 @@ static virDomainDefPtr virDomainDefParseXML(virConnectPtr conn,
|
|
||||||
if (!def->os.machine) {
|
|
||||||
const char *defaultMachine = virCapabilitiesDefaultGuestMachine(caps,
|
|
||||||
def->os.type,
|
|
||||||
- def->os.arch);
|
|
||||||
+ def->os.arch,
|
|
||||||
+ virDomainVirtTypeToString(def->virtType));
|
|
||||||
if (defaultMachine != NULL) {
|
|
||||||
if (!(def->os.machine = strdup(defaultMachine))) {
|
|
||||||
virReportOOMError(conn);
|
|
||||||
diff --git a/src/xm_internal.c b/src/xm_internal.c
|
|
||||||
index de3aca9..6d351d4 100644
|
|
||||||
--- a/src/xm_internal.c
|
|
||||||
+++ b/src/xm_internal.c
|
|
||||||
@@ -720,7 +720,8 @@ xenXMDomainConfigParse(virConnectPtr conn, virConfPtr conf) {
|
|
||||||
|
|
||||||
defaultMachine = virCapabilitiesDefaultGuestMachine(priv->caps,
|
|
||||||
def->os.type,
|
|
||||||
- def->os.arch);
|
|
||||||
+ def->os.arch,
|
|
||||||
+ virDomainVirtTypeToString(def->virtType));
|
|
||||||
if (defaultMachine != NULL) {
|
|
||||||
if (!(def->os.machine = strdup(defaultMachine)))
|
|
||||||
goto no_memory;
|
|
||||||
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml
|
|
||||||
index 6f62243..a2c6254 100644
|
|
||||||
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml
|
|
||||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.xml
|
|
||||||
@@ -1,11 +1,11 @@
|
|
||||||
-<domain type='qemu'>
|
|
||||||
+<domain type='kvm'>
|
|
||||||
<name>QEMUGuest1</name>
|
|
||||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
|
||||||
<memory>219200</memory>
|
|
||||||
<currentMemory>219200</currentMemory>
|
|
||||||
<vcpu>1</vcpu>
|
|
||||||
<os>
|
|
||||||
- <type arch='x86_64' machine='pc'>hvm</type>
|
|
||||||
+ <type arch='x86_64'>hvm</type>
|
|
||||||
<boot dev='hd'/>
|
|
||||||
</os>
|
|
||||||
<clock offset='utc'/>
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
From bb64cc4cbe5d3c69057f63be2c1acaca72038e5a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark McLoughlin <markmc@redhat.com>
|
|
||||||
Date: Thu, 15 Oct 2009 12:09:17 +0100
|
|
||||||
Subject: [PATCH] Don't copy old machines from a domain which has none
|
|
||||||
|
|
||||||
If the the qemu and kvm binaries are the same, we don't include machine
|
|
||||||
types in the kvm domain info.
|
|
||||||
|
|
||||||
However, the code which refreshes the machine types info from the
|
|
||||||
previous capabilities structure first looks at the kvm domain's info,
|
|
||||||
finds it matches and then copies the empty machine types list over
|
|
||||||
for the top-level qemu domain.
|
|
||||||
|
|
||||||
That doesn't make sense, we shouldn't copy an empty machin types list.
|
|
||||||
|
|
||||||
* src/qemu/qemu_conf.c: qemudGetOldMachinesFromInfo(): don't copy an
|
|
||||||
empty machine types list.
|
|
||||||
|
|
||||||
(cherry picked from commit 2210f8a3a8e2774ca4fb8b42e21899e5b85ca913)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-qemu-machine-type-fixes2.patch
|
|
||||||
---
|
|
||||||
src/qemu_conf.c | 3 +++
|
|
||||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
|
||||||
index 0dd0624..34a7fe1 100644
|
|
||||||
--- a/src/qemu_conf.c
|
|
||||||
+++ b/src/qemu_conf.c
|
|
||||||
@@ -505,6 +505,9 @@ qemudGetOldMachinesFromInfo(virCapsGuestDomainInfoPtr info,
|
|
||||||
virCapsGuestMachinePtr *list;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
+ if (!info->nmachines)
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
if (!info->emulator || !STREQ(emulator, info->emulator))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
From a44bce591a8d746a4a00c8609cb0111c76271cab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Cole Robinson <crobinso@redhat.com>
|
|
||||||
Date: Thu, 8 Oct 2009 18:05:36 -0400
|
|
||||||
Subject: [PATCH] storage: Fix generating iscsi 'auth' xml
|
|
||||||
|
|
||||||
We were missing a closing tag, so the XML wasn't proper.
|
|
||||||
|
|
||||||
(cherry picked from commit 826cbac4591fd5929b497299a90d3a65226b2825)
|
|
||||||
|
|
||||||
Fedora-patch: libvirt-storage-iscsi-auth-xml-formatting.patch
|
|
||||||
---
|
|
||||||
src/storage_conf.c | 2 +-
|
|
||||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/storage_conf.c b/src/storage_conf.c
|
|
||||||
index 788de15..1633aac 100644
|
|
||||||
--- a/src/storage_conf.c
|
|
||||||
+++ b/src/storage_conf.c
|
|
||||||
@@ -799,7 +799,7 @@ virStoragePoolSourceFormat(virConnectPtr conn,
|
|
||||||
|
|
||||||
|
|
||||||
if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP)
|
|
||||||
- virBufferVSprintf(buf," <auth type='chap' login='%s' passwd='%s'>\n",
|
|
||||||
+ virBufferVSprintf(buf," <auth type='chap' login='%s' passwd='%s'/>\n",
|
|
||||||
src->auth.chap.login,
|
|
||||||
src->auth.chap.passwd);
|
|
||||||
virBufferAddLit(buf," </source>\n");
|
|
||||||
--
|
|
||||||
1.6.2.5
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
2913
libvirt.spec
2913
libvirt.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue