| Branch | Commit message | Author | Age |
| v0.10.2-gentoo | Correct checking of virStrcpyStatic() return value |  Kyle Mestery | 14 years |
| v0.9.10-gentoo | qemu: Prevent crash of libvirtd without guest agent |  Alex Jia | 14 years |
| v0.9.3-gentoo | rpc: Pass through DISPLAY so ssh can launch askpass |  Cole Robinson | 15 years |
| v0.8.6-gentoo | Fix undefined symbol errors when macvtap support is disabled |  Matthias Bolte | 16 years |
| v0.8.3-gentoo | build-sys: only build the test programs during the check phase. |  Diego Elio Pettenò | 16 years |
| v0.8.1-gentoo | libvirtd: don't ignore virInitialize failure |  Jim Meyering | 16 years |
| v0.7.4-gentoo | Relax the allowed values for machine type in schema |  Daniel Veillard | 17 years |
| |
| Tag | Download | Author | Age |
| v0.10.2-gentoo-2 | libvirt-0.10.2-gentoo-2.tar.gz libvirt-0.10.2-gentoo-2.tar.bz2 libvirt-0.10.2-gentoo-2.zip |  Doug Goldstein | 14 years |
| v0.10.2 | libvirt-0.10.2.tar.gz libvirt-0.10.2.tar.bz2 libvirt-0.10.2.zip |  Daniel Veillard | 14 years |
| v0.9.10-gentoo-1 | libvirt-0.9.10-gentoo-1.tar.gz libvirt-0.9.10-gentoo-1.tar.bz2 libvirt-0.9.10-gentoo-1.zip |  Doug Goldstein | 14 years |
| v0.9.10 | libvirt-0.9.10.tar.gz libvirt-0.9.10.tar.bz2 libvirt-0.9.10.zip |  Daniel Veillard | 14 years |
| v0.9.3-gentoo-1 | libvirt-0.9.3-gentoo-1.tar.gz libvirt-0.9.3-gentoo-1.tar.bz2 libvirt-0.9.3-gentoo-1.zip |  Doug Goldstein | 15 years |
| v0.9.3 | libvirt-0.9.3.tar.gz libvirt-0.9.3.tar.bz2 libvirt-0.9.3.zip |  Daniel Veillard | 15 years |
| v0.8.8-gentoo-1 | libvirt-0.8.8-gentoo-1.tar.gz libvirt-0.8.8-gentoo-1.tar.bz2 libvirt-0.8.8-gentoo-1.zip |  Guido Günther | 15 years |
| v0.8.8 | libvirt-0.8.8.tar.gz libvirt-0.8.8.tar.bz2 libvirt-0.8.8.zip |  Eric Blake | 15 years |
| v0.8.6-gentoo-1 | libvirt-0.8.6-gentoo-1.tar.gz libvirt-0.8.6-gentoo-1.tar.bz2 libvirt-0.8.6-gentoo-1.zip |  Matthias Bolte | 16 years |
| v0.8.6 | libvirt-0.8.6.tar.gz libvirt-0.8.6.tar.bz2 libvirt-0.8.6.zip |  Daniel Veillard | 16 years |
| [...] |
| |
| Age | Commit message | Author | Files | Lines |
| 2012-10-21 | Correct checking of virStrcpyStatic() return value•••Correct the check for the return value of virStrcpyStatic()
when copying port-profile names. Fixes Open vSwitch ports
which utilize port-profiles from network definitions.
Signed-off-by: Kyle Mestery <kmestery@cisco.com>
v0.10.2-gentoo-2v0.10.2-gentoo |  Kyle Mestery | 1 | -1/+1 |
| 2012-10-17 | qemu: Pin the emulator when only cpuset is specified•••According to our recent changes (clarifications), we should be pinning
qemu's emulator processes using the <vcpu> 'cpuset' attribute in case
there is no <emulatorpin> specified. This however doesn't work
entirely as expected and this patch should resolve all the remaining
issues.
|  Martin Kletzander | 4 | -20/+28 |
| 2012-10-17 | qemu: Clear async job when p2p migration fails early•••When p2p migration fails early because qemuMigrationIsAllowed or
qemuMigrationIsSafe say migration should be cancelled, we fail to clear
the migration-out async job. As a result of that, further APIs called
for the same domain may fail with Timed out during operation: cannot
acquire state change lock.
Reported by Guido Winkelmann.
|  Jiri Denemark | 1 | -2/+2 |
| 2012-10-16 | storage: lvm: lvcreate fails with allocation=0, don't do that•••On F17 at least, this command fails:
$ sudo /usr/sbin/lvcreate --name sparsetest -L 0K --virtualsize 16384K vgvirt
Unable to create new logical volume with no extents
Which is unfortunate since allocation=0 is what virt-manager tries to use
by default.
Rather than telling the user 'don't do that', let's just give them the
smallest allocation possible if alloc=0 is requested.
https://bugzilla.redhat.com/show_bug.cgi?id=866481
|  Cole Robinson | 1 | -1/+2 |
| 2012-10-16 | storage: lvm: Don't overwrite lvcreate errors•••Before:
$ sudo virsh vol-create-as --pool vgvirt sparsetest --capacity 16M --allocation 0
error: Failed to create vol sparsetest
error: internal error Child process (/usr/sbin/lvchange -aln vgvirt/sparsetest) unexpected exit status 5: One or more specified logical volume(s) not found.
After:
$ sudo virsh vol-create-as --pool vgvirt sparsetest --capacity 16M --allocation 0
error: Failed to create vol sparsetest
error: internal error Child process (/usr/sbin/lvcreate --name sparsetest -L 0K --virtualsize 16384K vgvirt) unexpected exit status 5: Unable to create new logical volume with no extents
|  Cole Robinson | 1 | -0/+3 |
| 2012-10-05 | Fix potential deadlock when agent is closed•••If the qemuAgentClose method is called from a place which holds
the domain lock, it is theoretically possible to get a deadlock
in the agent destroy callback. This has not been observed, but
the equivalent code in the QEMU monitor destroy callback has seen
a deadlock.
Remove the redundant locking while unrefing the object and the
bogus assignment
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|  Daniel P. Berrange | 1 | -9/+3 |
| 2012-10-05 | Fix (rare) deadlock in QEMU monitor callbacks•••Some users report (very rarely) seeing a deadlock in the QEMU
monitor callbacks
Thread 10 (Thread 0x7fcd11e20700 (LWP 26753)):
#0 0x00000030d0e0de4d in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00000030d0e09ca6 in _L_lock_840 () from /lib64/libpthread.so.0
#2 0x00000030d0e09ba8 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x00007fcd162f416d in virMutexLock (m=<optimized out>)
at util/threads-pthread.c:85
#4 0x00007fcd1632c651 in virDomainObjLock (obj=<optimized out>)
at conf/domain_conf.c:14256
#5 0x00007fcd0daf05cc in qemuProcessHandleMonitorDestroy (mon=0x7fcccc0029e0,
vm=0x7fcccc00a850) at qemu/qemu_process.c:1026
#6 0x00007fcd0db01710 in qemuMonitorDispose (obj=0x7fcccc0029e0)
at qemu/qemu_monitor.c:249
#7 0x00007fcd162fd4e3 in virObjectUnref (anyobj=<optimized out>)
at util/virobject.c:139
#8 0x00007fcd0db027a9 in qemuMonitorClose (mon=<optimized out>)
at qemu/qemu_monitor.c:860
#9 0x00007fcd0daf61ad in qemuProcessStop (driver=driver@entry=0x7fcd04079d50,
vm=vm@entry=0x7fcccc00a850,
reason=reason@entry=VIR_DOMAIN_SHUTOFF_DESTROYED, flags=flags@entry=0)
at qemu/qemu_process.c:4057
#10 0x00007fcd0db323cf in qemuDomainDestroyFlags (dom=<optimized out>,
flags=<optimized out>) at qemu/qemu_driver.c:1977
#11 0x00007fcd1637ff51 in virDomainDestroyFlags (
domain=domain@entry=0x7fccf00c1830, flags=1) at libvirt.c:2256
At frame #10 we are holding the domain lock, we call into
qemuProcessStop() to cleanup QEMU, which triggers the monitor
to close, which invokes qemuProcessHandleMonitorDestroy() which
tries to obtain the domain lock again. This is a non-recursive
lock, hence hang.
Since qemuMonitorPtr is a virObject, the unref call in
qemuProcessHandleMonitorDestroy no longer needs mutex
protection. The assignment of priv->mon = NULL, can be
instead done by the caller of qemuMonitorClose(), thus
removing all need for locking.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|  Daniel P. Berrange | 1 | -10/+5 |
| 2012-10-05 | network: fix dnsmasq/radvd binding to IPv6 on recent kernels•••I hit this problem recently when trying to create a bridge with an IPv6
address on a 3.2 kernel: dnsmasq (and, further, radvd) would not bind to
the given address, waiting 20s and then giving up with -EADDRNOTAVAIL
(resp. exiting immediately with "error parsing or activating the config
file", without libvirt noticing it, BTW). This can be reproduced with (I
think) any kernel >= 2.6.39 and the following XML (to be used with
"virsh net-create"):
<network>
<name>test-bridge</name>
<bridge name='testbr0' />
<ip family='ipv6' address='fd00::1' prefix='64'>
</ip>
</network>
(it happens even when you have an IPv4, too)
The problem is that since commit [1] (which, ironically, was made to
“help IPv6 autoconfiguration”) the linux bridge code makes bridges
behave like “real” devices regarding carrier detection. This makes the
bridges created by libvirt, which are started without any up devices,
stay with the NO-CARRIER flag set, and thus prevents DAD (Duplicate
address detection) from happening, thus letting the IPv6 address flagged
as “tentative”. Such addresses cannot be bound to (see RFC 2462), so
dnsmasq fails binding to it (for radvd, it detects that "interface XXX
is not RUNNING", thus that "interface XXX does not exist, ignoring the
interface" (sic)). It seems that this behavior was enhanced somehow with
commit [2] by avoiding setting NO-CARRIER on empty bridges, but I
couldn't reproduce this behavior on my kernel. Anyway, with the “dummy
tap to set MAC address” trick, this wouldn't work.
To fix this, the idea is to get the bridge's attached device to be up so
that DAD can happen (deactivating DAD altogether is not a good idea, I
think). Currently, libvirt creates a dummy TAP device to set the MAC
address of the bridge, keeping it down. But even if we set this device
up, it is not RUNNING as soon as the tap file descriptor attached to it
is closed, thus still preventing DAD. So, we must modify the API a bit,
so that we can get the fd, keep the tap device persistent, run the
daemons, and close it after DAD has taken place. After that, the bridge
will be flagged NO-CARRIER again, but the daemons will be running, even
if not happy about the device's state (but we don't really care about
the bridge's daemons doing anything when no up interface is connected to
it).
Other solutions that I envisioned were:
* Keeping the *-nic interface up: this would waste an fd for each
bridge during all its life. May be acceptable, I don't really
know.
* Stop using the dummy tap trick, and set the MAC address directly
on the bridge: it is possible since quite some time it seems,
even if then there is the problem of the bridge not being
RUNNING when empty, contrary to what [2] says, so this will need
fixing (and this fix only happened in 3.1, so it wouldn't work
for 2.6.39)
* Using the --interface option of dnsmasq, but I saw somewhere
that it's not used by libvirt for backward compatibility. I am
not sure this would solve this problem, though, as I don't know
how dnsmasq binds itself to it with this option.
This is why this patch does what's described earlier.
This patch also makes radvd start even if the interface is
“missing” (i.e. it is not RUNNING), as it daemonizes before binding to
it, and thus sometimes does it after the interface has been brought down
by us (by closing the tap fd), and then originally stops. This also
makes it stop yelling about it in the logs when the interface is down at
a later time.
[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=1faa4356a3bd89ea11fb92752d897cff3a20ec0e
[2]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=b64b73d7d0c480f75684519c6134e79d50c1b341
|  Benjamin Cama | 5 | -16/+42 |
| 2012-10-05 | Fix compilation of legacy xen driver with Xen 4.2•••In Xen 4.2, xs.h is deprecated in favor of xenstore.h. xs.h now
contains
#warning xs.h is deprecated use xenstore.h instead
#include <xenstore.h>
which fails compilation when warnings are treated as errors.
Introduce a configure-time check for xenstore.h and if found,
use it instead of xs.h.
|  Jim Fehlig | 3 | -2/+12 |
| 2012-10-05 | build: default selinuxfs mount point to /sys/fs/selinux•••Currently if you build on a machine that does not support SELinux we end up
with the default mount point being /selinux, since this is moved to
/sys/fs/selinux, we should start defaulting there.
I believe this is causing a bug in libvirt-lxc when /selinux does not exists,
even though /sys/fs/selinux exists.
|  Daniel J Walsh | 1 | -3/+2 |
| [...] |
| |
| Clone |
| https://anongit.gentoo.org/git/proj/libvirt.git |
| git+ssh://git@git.gentoo.org/proj/libvirt.git |