[libvirt] Setting devid for emulated NICs (Xen 4.3.1 / libvirt 1.2.0) using libxl driver
by Stefan Bader
Using virt-manager "hypervisor default" type:
<interface type='bridge'>
<mac address='00:16:3e:5e:09:9d'/>
<source bridge='br0'/>
<script path='vif-bridge'/>
</interface>
This causes the qemu call to have "-net none" which removes PXE boot
abilities. A linux kernel has network through the xen pv-driver.
Changing in virt-manager to "e1000" type:
<interface type='bridge'>
<mac address='00:16:3e:5e:09:9d'/>
<source bridge='br0'/>
<script path='vif-bridge'/>
<model type='e1000'/>
</interface>
This currently (Xen 4.3.1 + libvirt 1.2.0) fails and the qemu arguments
in the log look suspicious:
-device e1000,id=nic-1,netdev=net-1,mac=00:16:3e:5e:09:9d
-netdev type=tap,id=net-1,ifname=vif1.-1-emu,script=no,downscript=no
Looking through git I found ba64b97134a6129a48684f22f31be92c3b6eef96
libxl: Allow libxl to set NIC devid
which removes a line that sets the devid of new NICs. I assume the comment
says (sorry I always seem to get confused reading it) that devid should
be auto-set by the libxl library provided by Xen. But I could not find
where that would be done. Even the xl command implementation sets it
explicitly. libxl_device_nic_init sets it to -1 which would explain the
wrong qemu arguments above.
For testing I re-added the following after the libxlMakeNic call:
--- libvirt-1.2.0.orig/src/libxl/libxl_conf.c 2013-12-11 17:04:17.000000000 +0
+++ libvirt-1.2.0/src/libxl/libxl_conf.c 2013-12-16 19:08:46.830016646 +0
@@ -907,6 +907,8 @@ libxlMakeNicList(virDomainDefPtr def, l
for (i = 0; i < nnics; i++) {
if (libxlMakeNic(l_nics[i], &x_nics[i]))
goto error;
+ if (x_nics[i].devid < 0)
+ x_nics[i].devid = i;
}
d_config->nics = x_nics;
And with that I get a working PXE boot when I set the device type
in the config. (Side note that I think not using a type defaults to
rtl8139 in the old xend driver. Maybe this should be the same for the
xl driver).
I am not sure how the right fix for it should look like as I am unsure
which part was supposed to set the devid. Just right now it does not
seem to be done.
-Stefan
10 years, 10 months
[libvirt] device removal
by Serge Hallyn
Hi,
one of our tests was complaining that after an attach-device
followed by detach-device, the device was still in the vm's
apparmor whitelist. It turns out the device actually also
still in the device's xml. qemuDomainDetachVirtioDiskDevice()
is calling
if (!qemuDomainWaitForDeviceRemoval(vm))
qemuDomainRemoveDiskDevice(driver, vm, detach);
ret = 0;
Return values for qemuDomainWaitForDeviceRemoval are:
* -1 on error
* 0 when DEVICE_DELETED event is unsupported
* 1 when device removal finished
* 2 device removal did not finish in QEMU_REMOVAL_WAIT_TIME
Those don't seem in line with how the return value is used. (According
to gdb, it is returning 2 in my case.) I don't understand how the async
device removal proceeds, but if qemuDomainWaitForDeviceRemoval()
returned an error (-1 or 2) should qemuDomainDetachVirtioDiskDevice() at
least return an error, assuming it's not safe to call
qemuDomainRemoveDiskDevice()?
As it is, I get
# serge@t1:~/qa-regression-testing/scripts$ virsh detach-device qatest-i386 /tmp/tmpivE45x/device.xml
# Device detached successfully
but the device is actually still in qatest-i386's xml. Seems like the
caller should be informed that the device is still attached. Assuming
I'm not completely mis-reading the situation.
thanks,
-serge
10 years, 10 months
[libvirt] [php-libvirt] minimal libvirt requirement
by Remi Collet
Hi,
>From configure: LIBVIRT_REQUIRED=0.6.2
But build fails with < 0.9
Tested with 0.8.8 and 0.8.2 (RHEL-5)
libvirt-php.c:1080: error: 'VIR_NODE_CPU_STATS_ALL_CPUS' undeclared
(first use in this function)
Thanks
Remi.
10 years, 10 months
[libvirt] [PATCH libvirt-java] spec: Only install unversioned jar file
by Cole Robinson
As intended by Fedora's java packaging guidelines:
https://bugzilla.redhat.com/show_bug.cgi?id=1022139
---
libvirt-java.spec.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/libvirt-java.spec.in b/libvirt-java.spec.in
index b5f1bf8..137af83 100644
--- a/libvirt-java.spec.in
+++ b/libvirt-java.spec.in
@@ -59,8 +59,7 @@ ant build jar docs
rm -fr %{buildroot}
install -d -m0755 %{buildroot}%{_javadir}
install -d -m0755 %{buildroot}%{_javadocdir}/%{name}-%{version}
-cp target/%{prefix}-%{version}.jar %{buildroot}%{_javadir}
-%{__ln_s} %{_javadir}/%{prefix}-%{version}.jar %{buildroot}%{_javadir}/%{prefix}.jar
+cp target/%{prefix}-%{version}.jar %{buildroot}%{_javadir}/%{prefix}.jar
cp -r target/javadoc/* %{buildroot}%{_javadocdir}/%{name}-%{version}
%{__ln_s} %{_javadocdir}/%{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
--
1.8.4.2
10 years, 10 months
[libvirt] [RFC PATCH 0/3] improve virtio-serial port address allocation
by Jonathan Lebon
This series of patches improves the way in which virtio-serial port
addresses are handled. See BZ1042505[1] for more background information.
In a nutshell, the issue is that libvirt always assigns ports to the
same virtio-serial controller (index 0). It does not take into account
the maximum number of ports of the controller, nor whether there are
other controllers with free ports.
These patches modify the behaviour of libvirt in two ways:
1. Ports assigned out-of-range numbers are rejected right away, rather
than having qemu failing at startup (see patch 2/3).
2. Ports without any explicit <address> elements are assigning a
controller guaranteed to hold a free port, rather than always using
controller index 0 (see patch 3/3).
Care was taken to not override any field explicitly specified by the
user (e.g. if the controller index is given, then that controller will
be used).
However, there are a few shortcomings with these patches (mostly due to
my inexperience with the libvirt codebase and virtualization in
general):
1. The limit of 31 ports per controller, mentioned here [2], is specific
to qemu/kvm (although it is the only driver that supports
virtio-serial ports for now). I've hardcoded the constant in these
patches because I'm not sure how to properly contain them within
qemu-specific code. There doesn't seem to be a way to query qemu to
find out what the number of maximum ports are but looking at the qemu
codebase indicates that the limit has always been 31. Not sure if a
simple #define would be suitable for this.
2. I'm not sure how to handle the 'bus' attribute of virtio-serial port
<address> elements. I haven't been able to get information regarding
whether the bus is always 0, or how it affects port numbering. (So
far haven't been able to start a VM with bus != 0).
3. More broadly, I'm not sure how in line these patches are with the
overall design of libvirt. It seems like domain definitions should be
completely independent of driver limitations, in which case enforcing
a maximum number of ports at domain-definition-time might be the
wrong thing to do. But since it is clear from the BZ that libvirt
currently can modify the definition into an invalid unstartable
state, it might be too late to go back on our word there.
Advice and feedback appreciated,
Jonathan
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1042505
[2] https://fedoraproject.org/wiki/Features/VirtioSerial?rd=VirtioSerial#Device
Jonathan Lebon (3):
add new function virDomainGetVirtioMaxPort
check for out-of-range virtio-serial ports
assign free controller to virtio-serial port
src/conf/domain_conf.c | 77 ++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 66 insertions(+), 11 deletions(-)
--
1.8.3.1
10 years, 10 months
[libvirt] [PATCH V3] AArch64: Porting of armv7l conditons to run qemu for aarch64.
by Pranavkumar Sawargaonkar
AArch64 qemu has similar behavior as armv7l, like use of mmio etc.
This patch adds similar bypass checks what we have for armv7l to aarch64.
E.g. we are enabling mmio transport for Nicdev.
Making addDefaultUSB and addDefaultMemballoon to false etc.
V3:
- Adding missing domain rng schema for aarcg64 and test case in
testutilsqemu.c which was causing test suite failure
while running make check.
V2:
- Added testcase to qemuxml2argvtest as suggested
during review comments of V1.
V1:
- Initial patch.
Signed-off-by: Anup Patel <anup.patel(a)linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar(a)linaro.org>
---
docs/schemas/domaincommon.rng | 19 +++++++++
src/qemu/qemu_capabilities.c | 2 +-
src/qemu/qemu_command.c | 8 ++--
src/qemu/qemu_domain.c | 4 ++
.../qemuxml2argv-aarch64-virt-virtio.args | 14 ++++++
.../qemuxml2argv-aarch64-virt-virtio.xml | 45 ++++++++++++++++++++
tests/qemuxml2argvtest.c | 5 +++
tests/testutilsqemu.c | 30 +++++++++++++
8 files changed, 123 insertions(+), 4 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.xml
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index be32c6b..86a60c9 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -305,6 +305,7 @@
<ref name="hvmppc64"/>
<ref name="hvms390"/>
<ref name="hvmarm"/>
+ <ref name="hvmaarch64"/>
</choice>
</optional>
<value>hvm</value>
@@ -432,6 +433,24 @@
</optional>
</group>
</define>
+ <define name="hvmaarch64">
+ <group>
+ <optional>
+ <attribute name="arch">
+ <choice>
+ <value>aarch64</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="machine">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\.\-]+</param>
+ </data>
+ </attribute>
+ </optional>
+ </group>
+ </define>
<define name="osexe">
<element name="os">
<element name="type">
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 4f64f87..ed182e0 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2917,7 +2917,7 @@ virQEMUCapsSupportsChardev(virDomainDefPtr def,
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))
return false;
- if (def->os.arch != VIR_ARCH_ARMV7L)
+ if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch != VIR_ARCH_AARCH64))
return true;
/* This may not be true for all ARM machine types, but at least
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d723dc8..2c66718 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -427,7 +427,8 @@ qemuDomainSupportsNicdev(virDomainDefPtr def,
return false;
/* non-virtio ARM nics require legacy -net nic */
- if (def->os.arch == VIR_ARCH_ARMV7L &&
+ if (((def->os.arch == VIR_ARCH_ARMV7L) ||
+ (def->os.arch == VIR_ARCH_AARCH64)) &&
net->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO)
return false;
@@ -1340,7 +1341,8 @@ static int
qemuDomainAssignARMVirtioMMIOAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps)
{
- if (def->os.arch == VIR_ARCH_ARMV7L &&
+ if (((def->os.arch == VIR_ARCH_ARMV7L) ||
+ (def->os.arch == VIR_ARCH_AARCH64)) &&
(STRPREFIX(def->os.machine, "vexpress-") ||
STREQ(def->os.machine, "virt")) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_MMIO)) {
@@ -1872,7 +1874,7 @@ cleanup:
static bool
qemuDomainSupportsPCI(virDomainDefPtr def) {
- if (def->os.arch != VIR_ARCH_ARMV7L)
+ if ((def->os.arch != VIR_ARCH_ARMV7L) && (def->os.arch != VIR_ARCH_AARCH64))
return true;
if (STREQ(def->os.machine, "versatilepb"))
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index e964c75..c947e2e 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -727,6 +727,10 @@ qemuDomainDefPostParse(virDomainDefPtr def,
addDefaultUSB = false;
addDefaultMemballoon = false;
break;
+ case VIR_ARCH_AARCH64:
+ addDefaultUSB = false;
+ addDefaultMemballoon = false;
+ break;
case VIR_ARCH_ALPHA:
case VIR_ARCH_PPC:
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
new file mode 100644
index 0000000..afd6e41
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.args
@@ -0,0 +1,14 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-aarch64 -S -M virt -m 1024 -smp 1 -nographic \
+-nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait \
+-boot c -kernel /aarch64.kernel -initrd /aarch64.initrd -append \
+'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
+-dtb /aarch64.dtb -device virtio-serial-device,id=virtio-serial0 -usb \
+-drive file=/aarch64.raw,if=none,id=drive-virtio-disk0 \
+-device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
+-device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 \
+-net user,vlan=0,name=hostnet0 -serial pty -chardev pty,id=charconsole1 \
+-device virtconsole,chardev=charconsole1,id=console1 \
+-device virtio-balloon-device,id=balloon0 \
+-object rng-random,id=rng0,filename=/dev/random \
+-device virtio-rng-device,rng=rng0
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.xml
new file mode 100644
index 0000000..184b62c
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-virt-virtio.xml
@@ -0,0 +1,45 @@
+<domain type="qemu">
+ <name>aarch64test</name>
+ <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+ <memory>1048576</memory>
+ <currentMemory>1048576</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch="aarch64" machine="virt">hvm</type>
+ <kernel>/aarch64.kernel</kernel>
+ <initrd>/aarch64.initrd</initrd>
+ <dtb>/aarch64.dtb</dtb>
+ <cmdline>earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait</cmdline>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset="utc"/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-aarch64</emulator>
+ <disk type='file' device='disk'>
+ <source file='/aarch64.raw'/>
+ <target dev='vda' bus='virtio'/>
+ </disk>
+ <interface type='user'>
+ <mac address='52:54:00:09:a4:37'/>
+ <model type='virtio'/>
+ </interface>
+ <console type='pty'/>
+ <console type='pty'>
+ <target type='virtio' port='0'/>
+ </console>
+ <memballoon model='virtio'/>
+ <!--
+ This actually doesn't work in practice because vexpress only has
+ 4 virtio slots available, rng makes 5 -->
+ <rng model='virtio'>
+ <backend model='random'>/dev/random</backend>
+ </rng>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 847e96f..e451387 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1301,6 +1301,11 @@ mymain(void)
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
+ DO_TEST("aarch64-virt-virtio",
+ QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+ QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
+
DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY);
DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT);
DO_TEST("kvm-pit-device", QEMU_CAPS_NO_KVM_PIT,
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 92433ef..44e7e9d 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -175,6 +175,33 @@ error:
return -1;
}
+static int testQemuAddAARCH64Guest(virCapsPtr caps)
+{
+ static const char *machines[] = { "virt"};
+ virCapsGuestMachinePtr *capsmachines = NULL;
+ virCapsGuestPtr guest;
+
+ capsmachines = virCapabilitiesAllocMachines(machines,
+ ARRAY_CARDINALITY(machines));
+ if (!capsmachines)
+ goto error;
+
+ guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_AARCH64,
+ "/usr/bin/qemu-system-aarch64", NULL,
+ ARRAY_CARDINALITY(machines),
+ capsmachines);
+ if (!guest)
+ goto error;
+
+ if (!virCapabilitiesAddGuestDomain(guest, "qemu", NULL, NULL, 0, NULL))
+ goto error;
+
+ return 0;
+
+error:
+ virCapabilitiesFreeMachines(capsmachines, ARRAY_CARDINALITY(machines));
+ return -1;
+}
virCapsPtr testQemuCapsInit(void) {
virCapsPtr caps;
@@ -303,6 +330,9 @@ virCapsPtr testQemuCapsInit(void) {
if (testQemuAddArmGuest(caps))
goto cleanup;
+ if (testQemuAddAARCH64Guest(caps))
+ goto cleanup;
+
if (virTestGetDebug()) {
char *caps_str;
--
1.7.9.5
10 years, 10 months
[libvirt] [PATCH] storage: Use VIR_DELETE_ELEMENT instead of open coding
by Peter Krempa
Replace the open coded array element deletion by our new helper.
---
src/storage/storage_driver.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index baba9c9..aaa0f02 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1565,17 +1565,8 @@ storageVolDelete(virStorageVolPtr obj,
VIR_INFO("Deleting volume '%s' from storage pool '%s'",
vol->name, pool->def->name);
virStorageVolDefFree(vol);
- vol = NULL;
-
- if (i < (pool->volumes.count - 1))
- memmove(pool->volumes.objs + i, pool->volumes.objs + i + 1,
- sizeof(*(pool->volumes.objs)) * (pool->volumes.count - (i + 1)));
-
- if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count - 1) < 0) {
- ; /* Failure to reduce memory allocation isn't fatal */
- }
- pool->volumes.count--;
+ VIR_DELETE_ELEMENT(pool->volumes.objs, pool->volumes.count, i);
break;
}
}
--
1.8.5.2
10 years, 10 months
[libvirt] [PATCH 1/2] event: use bool in more places
by Eric Blake
No need to use an int that only ever stores 0 and 1.
* src/conf/object_event_private.h (_virObjectEventCallback):
Change deleted to bool.
* src/conf/object_event.c (virObjectEventDispatchMatchCallback):
Switch return type to bool.
(virObjectEventCallbackListMarkDeleteID): Update client.
* src/conf/domain_event.c (virDomainEventCallbackListMarkDelete):
Likewise.
---
src/conf/domain_event.c | 2 +-
src/conf/object_event.c | 20 ++++++++------------
src/conf/object_event_private.h | 2 +-
3 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
index 5e5bac5..df370f6 100644
--- a/src/conf/domain_event.c
+++ b/src/conf/domain_event.c
@@ -424,7 +424,7 @@ virDomainEventCallbackListMarkDelete(virConnectPtr conn,
if (cbList->callbacks[i]->cb == VIR_OBJECT_EVENT_CALLBACK(callback) &&
cbList->callbacks[i]->eventID == VIR_DOMAIN_EVENT_ID_LIFECYCLE &&
cbList->callbacks[i]->conn == conn) {
- cbList->callbacks[i]->deleted = 1;
+ cbList->callbacks[i]->deleted = true;
for (i = 0; i < cbList->count; i++) {
if (!cbList->callbacks[i]->deleted)
ret++;
diff --git a/src/conf/object_event.c b/src/conf/object_event.c
index dad98d6..5173fdf 100644
--- a/src/conf/object_event.c
+++ b/src/conf/object_event.c
@@ -171,7 +171,7 @@ virObjectEventCallbackListMarkDeleteID(virConnectPtr conn,
for (i = 0; i < cbList->count; i++) {
if (cbList->callbacks[i]->callbackID == callbackID &&
cbList->callbacks[i]->conn == conn) {
- cbList->callbacks[i]->deleted = 1;
+ cbList->callbacks[i]->deleted = true;
for (i = 0; i < cbList->count; i++) {
if (!cbList->callbacks[i]->deleted)
ret++;
@@ -577,18 +577,18 @@ virObjectEventQueuePush(virObjectEventQueuePtr evtQueue,
}
-static int
+static bool
virObjectEventDispatchMatchCallback(virObjectEventPtr event,
virObjectEventCallbackPtr cb)
{
if (!cb)
- return 0;
+ return false;
if (cb->deleted)
- return 0;
+ return false;
if (!virObjectIsClass(event, cb->klass))
- return 0;
+ return false;
if (cb->eventID != event->eventID)
- return 0;
+ return false;
if (cb->meta) {
/* Deliberately ignoring 'id' for matching, since that
@@ -597,13 +597,9 @@ virObjectEventDispatchMatchCallback(virObjectEventPtr event,
* Xen sometimes renames guests during migration, thus
* leaving 'uuid' as the only truly reliable ID we can use. */
- if (memcmp(event->meta.uuid, cb->meta->uuid, VIR_UUID_BUFLEN) == 0)
- return 1;
-
- return 0;
- } else {
- return 1;
+ return memcmp(event->meta.uuid, cb->meta->uuid, VIR_UUID_BUFLEN) == 0;
}
+ return true;
}
diff --git a/src/conf/object_event_private.h b/src/conf/object_event_private.h
index bc80425..d2e4666 100644
--- a/src/conf/object_event_private.h
+++ b/src/conf/object_event_private.h
@@ -67,7 +67,7 @@ struct _virObjectEventCallback {
virConnectObjectEventGenericCallback cb;
void *opaque;
virFreeCallback freecb;
- int deleted;
+ bool deleted;
};
typedef void
--
1.8.4.2
10 years, 10 months
[libvirt] Entering freeze on Wednesday for 1.2.1
by Daniel Veillard
Hello,
Happy New Year and best wishes for 2014 !
small reminder after the vacations,
based on our earlier decision to make a release mid-january and then
the next one at the end of feb, we should enter freeze in the middle of
the week to be able to make the release around the 15th,
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
10 years, 10 months