[libvirt] Opinions on removing the old, legacy libvirt Xen driver
by Jim Fehlig
Hi All,
I briefly mentioned this at an evening event during the KVM Forum / Xen Dev
Summit, but the list is certainly a better place to discuss such a topic. What
do folks think about finally removing the old, legacy, xend-based driver from
the libvirt sources?
The Xen community made xl/libxl the primary toolstack in Xen 4.1. In Xen 4.2, it
was made the default toolstack. In Xen 4.5, xm/xend was completely removed from
the Xen source tree. According to the Xen release support matrix [0], upstream
maintenance of Xen 4.1-4.3 has been dropped for some time, including "long term"
security support. Xen 4.4-4.5 no longer receive regular maintenance support,
with security support ending in March for 4.4 and January 2018 for 4.5. In
short, the fully maintained upstream Xen releases don't even contain xm/xend :-).
As for downstreams, I doubt anyone is interested in running the last several
libvirt releases on an old Xen installition with xm/xend, let alone libvirt.git
master. SUSE, which still supports Xen, has no interest in using a new libvirt
on older (but still supported) SLES that uses the xm/xend toolstack. I struggle
to find a good reason to keep any of the old cruft under src/xen/. I do think we
should keep the xm/sexpr config parsing/formatting code src/xenconfig/ since it
is useful for converting old xm and sexpr config to libvirt domXML.
Thanks for opinions and comments!
Regards,
Jim
[0] https://wiki.xenproject.org/wiki/Xen_Project_Release_Features
8 years
[libvirt] Resolve listen IP for graphics attached to Open vSwitch network
by Petr Horacek
Hello,
libvirt allows us to attach graphics device to a network, then it
resolves IP on its own.
However, when OVS network is used and not attached to a fake-bridge,
but rather to OVS bridge and given VLAN tag, libvirt is not able to
resolve IP (it tries to use IP of bridge, whereas it should check
another port).
Network definition:
<network>
<name>net1</name>
<forward mode='bridge'/>
<bridge name='ovsbr0'/>
<virtualport type='openvswitch'/>
<vlan>
<tag id='20'/>
</vlan>
</network>
Graphics definition:
<graphics type='spice'>
<listen type='network' network='net1'/>
</graphics>
Network setup:
ovs-vsctl add-br ovsbr0
ovs-vsctl add-port ovsbr0 net1 tag=20 -- set Interface net1 type=internal
ip address add 192.168.10.1/24 dev net1
We need graphics to listen on IP 192.168.10.1. In order to do that,
libvirt should use first IP found on given bridge's (ovsbr0) ports
with given vlan tag (20). When no vlan tag is given, it should also
check the bridge itself (as it does now).
It should also work with portgroups (as interface does).
Note:
Interface attached to this type of networks works OK.
Do you think it would be possible to implement/fix this scenario?
Thanks a lot,
Petr
8 years
[libvirt] [PATCH] NEWS: Start using the improved format
by Andrea Bolognani
This entry is meant to both get the ball rolling on the
switch and to provide a blueprint of what NEWS file entries
are supposed to look like.
---
We need to start somewhere, and what better way than talking
about the change itself? ;)
docs/news.html.in | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/news.html.in b/docs/news.html.in
index deeee4d..fca1e29 100644
--- a/docs/news.html.in
+++ b/docs/news.html.in
@@ -16,6 +16,15 @@
to gauge progress.
</p>
+ <h3>v2.5.0: <i>unreleased</i></h3>
+ <ul>
+ <li>Switch to an improved NEWS file format<br/>
+ List user-visible changes instead of single commits for a better
+ high-level overview of differences between libvirt releases
+ </li>
+ <li>Various bug fixes and improvements</li>
+ </ul>
+
<h3>v2.4.0: Nov 1 2016</h3>
<ul>
<li>Documentation:<br/>
--
2.7.4
8 years
[libvirt] [PATCH] qemu_monitor_json: Don't check existence of "return" object
by Jiri Denemark
Whenever qemuMonitorJSONCheckError returns 0, the "return" object is
guaranteed to exist. Thus virJSONValueObjectGetObject will never fail to
get it. On the other hand, virJSONValueObjectGetArray may fail since the
"return" object may not be an array.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_monitor_json.c | 160 ++++++++-----------------------------------
1 file changed, 30 insertions(+), 130 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 9e06a4d27..ef8672cad 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -1219,11 +1219,7 @@ qemuMonitorJSONGetStatus(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-status reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (virJSONValueObjectGetBoolean(data, "running", running) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1443,12 +1439,7 @@ int qemuMonitorJSONGetVirtType(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
-
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("info kvm reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (virJSONValueObjectGetBoolean(data, "enabled", &val) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1609,12 +1600,7 @@ qemuMonitorJSONGetBalloonInfo(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- /* Success */
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("info balloon reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (virJSONValueObjectGetNumberUlong(data, "actual", &mem) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1715,11 +1701,7 @@ int qemuMonitorJSONGetMemoryStats(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("qom-get reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (!(statsdata = virJSONValueObjectGet(data, "stats"))) {
VIR_DEBUG("data does not include 'stats'");
@@ -2679,11 +2661,7 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
int rc;
double mbps;
- if (!(ret = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("info migration reply was missing return data"));
- return -1;
- }
+ ret = virJSONValueObjectGetObject(reply, "return");
if (!(statusstr = virJSONValueObjectGetString(ret, "status"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -2976,11 +2954,7 @@ qemuMonitorJSONGetDumpGuestMemoryCapability(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(caps = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("missing dump guest memory capabilities"));
- goto cleanup;
- }
+ caps = virJSONValueObjectGetObject(reply, "return");
if (!(formats = virJSONValueObjectGetArray(caps, "formats"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -3160,11 +3134,6 @@ qemuMonitorJSONAddFd(qemuMonitorPtr mon, int fdset, int fd, const char *name)
if (ret == 0) {
virJSONValuePtr data = virJSONValueObjectGetObject(reply, "return");
- if (!data) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("missing return information"));
- goto error;
- }
if (virJSONValueObjectGetNumberInt(data, "fd", &ret) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("incomplete return information"));
@@ -4745,11 +4714,7 @@ int qemuMonitorJSONGetVersion(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-version reply was missing 'return' data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (!(qemu = virJSONValueObjectGetObject(data, "qemu"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -4815,13 +4780,8 @@ int qemuMonitorJSONGetMachines(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-machines reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-machines reply data was not an array"));
goto cleanup;
@@ -4925,13 +4885,8 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-cpu-definitions reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-cpu-definitions reply data was not an array"));
goto cleanup;
@@ -4998,13 +4953,8 @@ int qemuMonitorJSONGetCommands(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-commands reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-commands reply data was not an array"));
goto cleanup;
@@ -5068,13 +5018,8 @@ int qemuMonitorJSONGetEvents(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-events reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-events reply data was not an array"));
goto cleanup;
@@ -5258,11 +5203,7 @@ int qemuMonitorJSONGetKVMState(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-kvm reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (virJSONValueObjectGetBoolean(data, "enabled", enabled) < 0 ||
virJSONValueObjectGetBoolean(data, "present", present) < 0) {
@@ -5302,13 +5243,8 @@ int qemuMonitorJSONGetObjectTypes(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("qom-list-types reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("qom-list-types reply data was not an array"));
goto cleanup;
@@ -5369,13 +5305,8 @@ int qemuMonitorJSONGetObjectListPaths(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("qom-list reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("qom-list reply data was not an array"));
goto cleanup;
@@ -5613,13 +5544,8 @@ int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("device-list-properties reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("device-list-properties reply data was not an array"));
goto cleanup;
@@ -5673,11 +5599,7 @@ qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon)
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-target reply was missing return data"));
- goto cleanup;
- }
+ data = virJSONValueObjectGetObject(reply, "return");
if (!(arch = virJSONValueObjectGetString(data, "arch"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -6110,14 +6032,8 @@ qemuMonitorJSONGetStringArray(qemuMonitorPtr mon, const char *qmpCmd,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("%s reply was missing return data"),
- qmpCmd);
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("%s reply data was not an array"),
qmpCmd);
@@ -6329,15 +6245,9 @@ qemuMonitorJSONAttachCharDev(qemuMonitorPtr mon,
goto cleanup;
if (chr->type == VIR_DOMAIN_CHR_TYPE_PTY) {
- virJSONValuePtr data;
+ virJSONValuePtr data = virJSONValueObjectGetObject(reply, "return");
const char *path;
- if (!(data = virJSONValueObjectGetObject(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("chardev-add reply was missing return data"));
- goto cleanup;
- }
-
if (!(path = virJSONValueObjectGetString(data, "pty"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("chardev-add reply was missing pty path"));
@@ -6686,13 +6596,8 @@ qemuMonitorJSONGetIOThreads(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-iothreads reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-iothreads reply data was not an array"));
goto cleanup;
@@ -6780,13 +6685,8 @@ qemuMonitorJSONGetMemoryDeviceInfo(qemuMonitorPtr mon,
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
- if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("query-memory-devices reply was missing return data"));
- goto cleanup;
- }
-
- if ((n = virJSONValueArraySize(data)) < 0) {
+ if (!(data = virJSONValueObjectGetArray(reply, "return")) ||
+ (n = virJSONValueArraySize(data)) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("query-memory-devices reply data was not an array"));
goto cleanup;
--
2.11.0.rc2
8 years
[libvirt] [PATCH 0/5] qemu: parse: Fix parsing of weird cpu topology specifications
by Peter Krempa
Peter Krempa (5):
qemu: parse: Validate that the VM has at least one cpu
qemu: parse: Allow the 'cpus=' prefix for current cpu number
qemu: parse: Assign topology info earlier
qemu: parse: Assign maximum cpu count from topology if not provided
qemu: process: Set current vcpu count to maximum if it was not
specified
src/qemu/qemu_parse_command.c | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
--
2.10.2
8 years
[libvirt] [PATCH] docs: Use Overpass Mono as the monospace font
by Martin Kletzander
Because this makes the font the same size as the non-monospaced one,
let's change those properties a little bit as well. <pre/> will be
shrunk a bit and <code/> inside <p/> or <dd/> will have slightly greyer
background.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Notes:
Now it looks like this:
http://people.redhat.com/~mkletzan/libvirt-monofont.png
docs/generic.css | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/generic.css b/docs/generic.css
index 02383017a91b..a6b2354df07b 100644
--- a/docs/generic.css
+++ b/docs/generic.css
@@ -71,3 +71,15 @@ h6 {
margin-top: 0.75em;
font-size: 0.8em;
}
+
+code, pre {
+ font-family: LibvirtOverpassMono;
+}
+
+dd code, p code {
+ background-color: #eeeeee;
+}
+
+pre {
+ font-size: 90%;
+}
--
2.10.2
8 years
[libvirt] [PATCH 0/4] docs: User Overpass 3.0 as a font
by Martin Kletzander
I heard Overpass 3.0 was released, so let's update to that. There are
some changes that I noticed. There are more font weights than we had
before. The one we decided to use is now probably the 'semibold' one.
So the regular font is a little thinner, but not as much as the
'light' one. I think this time it is the perfect middle ground
between the discussed variants in the previous thread. Also it makes
the mono font the same size as the other font. I kinda like that, but
if others don't, we can add font-size: 12px; to the style.
Here is side-by-side comparison on my screen:
http://people.redhat.com/~mkletzan/libvirt-newfonts.png
Martin Kletzander (4):
docs: Clean-up font definitions
docs: Upgrade Overpass fonts to 3.0
docs: Add monospaced Overpass fonts
docs: Use Overpass Mono as the monospace font
docs/fonts/hinted-Overpass-Bold.woff | Bin 48136 -> 0 bytes
docs/fonts/hinted-Overpass-BoldItalic.woff | Bin 51008 -> 0 bytes
docs/fonts/hinted-Overpass-Italic.woff | Bin 51908 -> 0 bytes
docs/fonts/hinted-Overpass-Light.woff | Bin 49452 -> 0 bytes
docs/fonts/hinted-Overpass-LightItalic.woff | Bin 51752 -> 0 bytes
docs/fonts/hinted-Overpass-Reg.woff | Bin 48144 -> 0 bytes
docs/fonts/overpass-bold-italic.woff | Bin 0 -> 46524 bytes
docs/fonts/overpass-bold.woff | Bin 0 -> 43612 bytes
docs/fonts/overpass-italic.woff | Bin 0 -> 46744 bytes
docs/fonts/overpass-light-italic.woff | Bin 0 -> 45844 bytes
docs/fonts/overpass-light.woff | Bin 0 -> 43576 bytes
docs/fonts/overpass-regular.woff | Bin 0 -> 44272 bytes
docs/fonts/stylesheet.css | 49 ++++++++++++++++------------
docs/generic.css | 4 +++
14 files changed, 32 insertions(+), 21 deletions(-)
delete mode 100644 docs/fonts/hinted-Overpass-Bold.woff
delete mode 100644 docs/fonts/hinted-Overpass-BoldItalic.woff
delete mode 100644 docs/fonts/hinted-Overpass-Italic.woff
delete mode 100644 docs/fonts/hinted-Overpass-Light.woff
delete mode 100644 docs/fonts/hinted-Overpass-LightItalic.woff
delete mode 100644 docs/fonts/hinted-Overpass-Reg.woff
create mode 100644 docs/fonts/overpass-bold-italic.woff
create mode 100644 docs/fonts/overpass-bold.woff
create mode 100644 docs/fonts/overpass-italic.woff
create mode 100644 docs/fonts/overpass-light-italic.woff
create mode 100644 docs/fonts/overpass-light.woff
create mode 100644 docs/fonts/overpass-regular.woff
--
2.10.2
8 years
[libvirt] [PATCH] tests: Adapt to gluster_debug_level in qemu.conf
by Michal Privoznik
After a944bd92 we gained support for setting gluster debug level.
However, due to stupid space we haven't tested whether augeas
file actually works.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu.conf | 2 +-
src/qemu/test_libvirtd_qemu.aug.in | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
index 070d37b..2b2bd60 100644
--- a/src/qemu/qemu.conf
+++ b/src/qemu/qemu.conf
@@ -664,4 +664,4 @@
#
# Defaults to 4
#
-# gluster_debug_level = 9
+#gluster_debug_level = 9
diff --git a/src/qemu/test_libvirtd_qemu.aug.in b/src/qemu/test_libvirtd_qemu.aug.in
index 805fa0e..f586e95 100644
--- a/src/qemu/test_libvirtd_qemu.aug.in
+++ b/src/qemu/test_libvirtd_qemu.aug.in
@@ -90,3 +90,4 @@ module Test_libvirtd_qemu =
{ "3" = "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd" }
}
{ "stdio_handler" = "logd" }
+{ "gluster_debug_level" = "9" }
--
2.8.4
8 years
[libvirt] [PATCH] util: Print pid_t as long long
by Martin Kletzander
After commit f2bf5fbb0449, MinGW strikes again. Simply print pid as any
other place after commit b7d2d4af2bd5.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Notes:
Pushed under the 'build breaker' rule.
src/util/virprocess.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index f2993493d2c2..3cacc8978935 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -1228,7 +1228,8 @@ virProcessSetScheduler(pid_t pid,
struct sched_param param = {0};
int pol = virProcessSchedTranslatePolicy(policy);
- VIR_DEBUG("pid=%d, policy=%d, priority=%u", pid, policy, priority);
+ VIR_DEBUG("pid=%lld, policy=%d, priority=%u",
+ (long long) pid, policy, priority);
if (!policy)
return 0;
@@ -1270,8 +1271,8 @@ virProcessSetScheduler(pid_t pid,
if (sched_setscheduler(pid, pol, ¶m) < 0) {
virReportSystemError(errno,
- _("Cannot set scheduler parameters for pid %d"),
- pid);
+ _("Cannot set scheduler parameters for pid %lld"),
+ (long long) pid);
return -1;
}
--
2.10.2
8 years
[libvirt] [PATCH] configure: Prefer /usr/bin over /bin for numad
by Guido Günther
On Debian systems numad gets installed to /usr/bin. However some people
use usrmerge[0] which links /bin to /usr/bin. By changing the lookup
order we make sure the daemon is always found in /usr/bin (with or
without usrmerge installed).
This allows packages built on systems with usrmerge to run on systems
without usrmerge which would otherwise fail since /bin/numad would be
hardcoded into libvirt.
Originally-Submitted-By: Guilhem Moulin
References: http://bugs.debian.org/843878
[0]: https://packages.debian.org/sid/usrmerge
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 3ff4c42..65bcd4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1392,7 +1392,7 @@ AC_ARG_WITH([numad],
if test "$with_numad" != "no" ; then
fail=0
- AC_PATH_PROG([NUMAD], [numad], [], [/bin:/usr/bin:/usr/sbin])
+ AC_PATH_PROG([NUMAD], [numad], [], [/usr/bin:/bin:/usr/sbin])
if test "$with_numad" = "check"; then
test "$with_numactl" = "yes" || fail=1
--
2.10.2
8 years