[libvirt] [PATCH] Make 'Miloslav Trmac' and 'Guido Guenther' display correctly
by Matthias Bolte
---
docs/news.html.in | 132 ++++++++++++++++++++++++++--------------------------
1 files changed, 66 insertions(+), 66 deletions(-)
diff --git a/docs/news.html.in b/docs/news.html.in
index 83f0461..47d7f42 100644
--- a/docs/news.html.in
+++ b/docs/news.html.in
@@ -36,7 +36,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
qemu-kvm needs -enable-kvm flag for VT optimization (Steve Yarmie)
fix deprecated iptables command syntax (Steve Yarmie)
Ensure driver lock is released when entering QEMU monitor (Daniel P. Berrange)
- only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther)
+ only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther)
esx: Fix CPU clock Hz to MHz conversion (Matthias Bolte)
esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() (Matthias Bolte)
esx: Fix MAC address formatting (Matthias Bolte)
@@ -442,8 +442,8 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.1: Sep 15 2009</h3>
<ul>
<li>New features:
- Add support for encrypted (qcow) volume creation. (Miloslav Trmač),
- Secret manipulation public API (Miloslav Trmač),
+ Add support for encrypted (qcow) volume creation. (Miloslav Trmač),
+ Secret manipulation public API (Miloslav Trmač),
Multipath storage support module (Dave Allan),
VBox add Storage Volume support (Pritesh Kothari),
Support configuration of huge pages in guests (Daniel P. Berrange),
@@ -525,12 +525,12 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),
Save vcpuinfo in status file (Daniel P. Berrange),
Restart libvirtd upon RPM upgrade (Daniel P. Berrange),
- Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),
- Provide missing passphrase when creating a volume. (Miloslav Trmač),
- Add virsh commands for secrets APIs (Miloslav Trmač),
- Local file implementation of secret driver API (Miloslav Trmač),
- Mask out flags used internally for virSecretGetValue (Miloslav Trmač),
- Add <usage> to <secret> docs (Miloslav Trmač),
+ Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),
+ Provide missing passphrase when creating a volume. (Miloslav Trmač),
+ Add virsh commands for secrets APIs (Miloslav Trmač),
+ Local file implementation of secret driver API (Miloslav Trmač),
+ Mask out flags used internally for virSecretGetValue (Miloslav Trmač),
+ Add <usage> to <secret> docs (Miloslav Trmač),
also allow use of XZ for Qemu image compression (Jim Meyering),
Support relabelling of USB and PCI devices (Daniel P. Berrange),
Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),
@@ -557,16 +557,16 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
Generic parsing support for video acceleration (Pritesh Kothari),
VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),
Support for getting/setting number of cpus in VBox (Pritesh Kothari),
- Make handling of monitor prompts more general. (Miloslav Trmač),
- Attach encryption information to virDomainDiskDef. (Miloslav Trmač),
- Recognize encryption format of qcow volumes. (Miloslav Trmač),
- Attach encryption information to virStorageVolDef. (Miloslav Trmač),
- Add volume encryption information handling. (Miloslav Trmač),
- Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),
- Secret manipulation remote client (Miloslav Trmač),
- Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),
- Secret manipulation public API implementation (Miloslav Trmač),
- Secret manipulation internal API (Miloslav Trmač),
+ Make handling of monitor prompts more general. (Miloslav Trmač),
+ Attach encryption information to virDomainDiskDef. (Miloslav Trmač),
+ Recognize encryption format of qcow volumes. (Miloslav Trmač),
+ Attach encryption information to virStorageVolDef. (Miloslav Trmač),
+ Add volume encryption information handling. (Miloslav Trmač),
+ Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),
+ Secret manipulation remote client (Miloslav Trmač),
+ Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),
+ Secret manipulation public API implementation (Miloslav Trmač),
+ Secret manipulation internal API (Miloslav Trmač),
Add test for recently fixed crash with latest XenD (Daniel P. Berrange),
Don't expose 'vnet%d' to the user (Mark McLoughlin),
Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),
@@ -585,7 +585,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),
ESX cleanup of CPU model strings (Matthias Bolte),
Fix use of dlopen modules (Daniel P. Berrange),
- Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),
+ Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),
Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),
Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),
Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),
@@ -600,8 +600,8 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),
Remove some tabs used for indent (Daniel Veillard),
Updated a number of localizations and regenerated (Daniel Veillard),
- Add a missing comment (Miloslav Trmač),
- Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),
+ Add a missing comment (Miloslav Trmač),
+ Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),
xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),
xm_internal.c: remove dead increment of "data" (Jim Meyering),
network_driver.c: remove dead store to "err" (Jim Meyering),
@@ -642,7 +642,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
Misc fixes to secrets API code (Daniel P. Berrange),
Only add glusterfs dep for Fedora >= 11 (Daniel P. Berrange),
Remove redundant base64 include file (Daniel P. Berrange),
- Don't assume buffered output echoes the command. (Miloslav Trmač),
+ Don't assume buffered output echoes the command. (Miloslav Trmač),
Update chinese, polish and spanish localizations (Daniel Veillard),
OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),
Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),
@@ -688,7 +688,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build
instructions (Jim Meyering), docs: say that the old repository
is deprecated... (Jim Meyering), document tcp listen and raw
- wire option (Guido Günther), Fix docs and code disagreements
+ wire option (Guido Günther), Fix docs and code disagreements
for character devices. (Cole Robinson), Fix documentation of
virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on
download page. (Cole Robinson), update download informations after
@@ -998,10 +998,10 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
docs for XML conversion APIs (Daniel Berrange), inconsistencies
in storage volume docs and schemas (Ryota Ozaki)</li>
<li>Bug fixes: fix hostdev managed handling (Mark McLoughlin),
- lxc_controller should not cash without args (Guido Gunther),
- bug fixes in I/O routines (Guido Gunther), fix migrationsave/restore
+ lxc_controller should not cash without args (Guido Günther),
+ bug fixes in I/O routines (Guido Günther), fix migrationsave/restore
for QEmu 0.10.0 (Daniel Berrange), avoid crash on VBox init
- (Guido Gunther), fix dev and cgroup init in LXC (Ryota Ozaki),
+ (Guido Günther), fix dev and cgroup init in LXC (Ryota Ozaki),
QEmu startup fix (Cole Robinson), block node reboots from LXCs (Ryota
Ozaki), QEmu argv detection fix for recent kvm (Daniel Berrange),
fix watch/timer event deletion (Daniel Berrange), fix XML escaping
@@ -1061,7 +1061,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<li>Improvements: add SCSI storage rescan (David Allan), rootless
LXC containers support improvements (Serge Hallyn), getHostname
support for LXC (Dan Smith), cleanup and logging output of some
- domain functions (Guido Günther), drop pool lock when allocating
+ domain functions (Guido Günther), drop pool lock when allocating
volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER
support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi
Tomohiro), dynamic bridge names support (Soren Hansen), LXC use
@@ -1069,7 +1069,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
virNodeDeviceCreateXML and virNodeDeviceDestroy entry points
(Dave Allan)</li>
<li>Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido
- Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
+ Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
</li>
</ul>
<h3>0.6.2: Apr 3 2009</h3>
@@ -1138,15 +1138,15 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
to avoid crashes (Daniel Berrange), mark defined network descriptions
as persistent (Cole Robinson), qemu+tls handshake negotiation hang
(Chris Lalancette)</li>
- <li>Improvements: don't hardcode ssh port (Guido Günther), new test
+ <li>Improvements: don't hardcode ssh port (Guido Günther), new test
cases and testing infrastructure (Jim Meyering), improve the
SExpr parser (John Levon), proper error reporting on xend
shutdown command (John Levon), proper handling of errors when
- saving QEmu domains state (Guido Günther), revamp of the internal
+ saving QEmu domains state (Guido Günther), revamp of the internal
error memory APIs (John Levon), better virsh error reporting (John
Levon), more daemon options to allow running multiple daemons (Jim
- Meyering), error handling when creating a QEmu domain (Guido Günther),
- fix timeouts in QEmu log reading (Guido Günther), migration with
+ Meyering), error handling when creating a QEmu domain (Guido Günther),
+ fix timeouts in QEmu log reading (Guido Günther), migration with
xend 3.3 fixes (John Levon), virsh XML dump flags cleanup (Cole
Robinson), fix build with loadable drivers (Maximilian Wilhelm),
internal XML APIs to read long long and hexa values (Mark
@@ -1160,7 +1160,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
(Jim Meyering), many error handling cleanups (Jim Meyering), XML
module cleanups (Mark McLoughlin), compiler warning (Maximilian
Wilhelm), daemon TCP listen cleanup (Cole Robinson), size_t type
- cleanup (Guido Günther), parallel make fix (Michael Marineau),
+ cleanup (Guido Günther), parallel make fix (Michael Marineau),
storage error diagnostic fix (Ryota Ozaki), remove redundant monitor
watch variable (Cole Robinson), qemu AttachDevice error report
improvement (Cole Robinson), virsh output cleanup (Jim Meyering),
@@ -1172,7 +1172,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<ul>
<li>New features: thread safety of the API and event handling (Daniel
Berrange), allow QEmu domains to survive daemon restart (Guido
- Günther), extended logging capabilities, support copy-on-write
+ Günther), extended logging capabilities, support copy-on-write
storage volumes (Daniel Berrange), support of storage cache
control options for QEmu/KVM (Daniel Berrange)</li>
<li>Portability: fix old DBus API problem, Debian portability fix
@@ -1184,14 +1184,14 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
solaris Xen fixes (John Levon), RPC portability to Solaris (Daniel
Berrange)</li>
<li>Documentation: typo fixes (Richard Jones), logging support,
- vnc keymap attributes (Guido Günther), HACKING file updates
+ vnc keymap attributes (Guido Günther), HACKING file updates
(Jim Meyering), new PCI passthrough format, libvirt-qpid and
UML driver documentation (Daniel Berrange), provide RNG schemas
for all XML formats used in libvirt APIs (Daniel Berrange), </li>
<li>Bug fixes: segfault on virtual network without bridge name (Cole
Robinson), various locking fixes (Cole Robinson), fix serial
- and parallel devices on tcp/unix/telnet (Guido Günther), leak
- in daemon (Jim Meyering), storage driver segfault (Miloslav TrmaC),
+ and parallel devices on tcp/unix/telnet (Guido Günther), leak
+ in daemon (Jim Meyering), storage driver segfault (Miloslav Trmač),
missing check in read-only connections (Daniel Berrange),
OpenVZ crash and mutex fixes (Anton Protopopov), couple of
daemon bug fixes (John Levon), OpenVZ MAC addresses generation
@@ -1206,15 +1206,15 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<li>Improvements: driver infrastructure and locking (Daniel Berrange),
Test driver infrastructure (Daniel Berrange), parallelism in the
daemon and associated config (Daniel Berrange), virsh help cleanups
- (Jim Meyering), logrotate daemon logs (Guido Günther), more
+ (Jim Meyering), logrotate daemon logs (Guido Günther), more
regression tests (Jim Meyering), QEmu SDL graphics (Itamar Heim),
add --version flag to daemon (Dave Allan), memory consumption
cleanup (Dave Allan), QEmu pid file and XML states for daemon
- restart (Guido Günther), gnulib updates (Jim Meyering and
+ restart (Guido Günther), gnulib updates (Jim Meyering and
Dan Berrange), PCI passthrough for KVM (Jason Krieg), generic
internal thread API (Daniel Berrange), RHEL-5 specific Xen
configure option and code (Markus Armbruster), save domain
- state as string in status file (Guido Günther), add locking
+ state as string in status file (Guido Günther), add locking
to all API entry points (Daniel Berrange), new ref counting APIs
(Daniel Berrange), IP address for Xen bridges (John Levon),
driver format for disk file types (Daniel Berrange), improve
@@ -1227,15 +1227,15 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
(Jim Meyering), gethostby* cleanup and test (Jim Meyering), some
code fixes (Dave Allan), various code cleanup (Jim Meyering),
virsh argument handling cleanup (Jim Meyering), virAsprintf
- cleanup replacement (Guido Günther), QEmu monitor reads (Cole
- Robinson), Makefile cleanups (Guido Günther), Xen code cleanups
+ cleanup replacement (Guido Günther), QEmu monitor reads (Cole
+ Robinson), Makefile cleanups (Guido Günther), Xen code cleanups
(John Levon), revamp of ELF export scripts (John Levon), domain
event callback args (John Levon), enforce use of pid_t (John Levon),
virsh pool-*-as XML code merge (Cole Robinson), xgettext warnings
- (Jim Meyering), add virKillProcess (Guido Günther), add
+ (Jim Meyering), add virKillProcess (Guido Günther), add
virGetHostname (David Lutterkort), add flags argument to the full
- XML parsing stack (Guido Günther), various daemon code cleanups
- (Guido Günther), handling of daemon missing config file (Jim
+ XML parsing stack (Guido Günther), various daemon code cleanups
+ (Guido Günther), handling of daemon missing config file (Jim
Meyering), rpcgen invocation cleanup (Richard Jones), devhelp
builkd makefile cleanups (John Levon), update error handling for
threading (Daniel Berrange), remove all non-rentrant POSIX calls
@@ -1255,7 +1255,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<li>Bug fixes: add a delay in storage backend for disks to show up
(Chris Lalancette), fix parsing for CDRom device with no source
(Daniel Berrange), use xenstore to list domains to avoid some
- bugs (Guido Günther), remove a leak in xen inotify code (Daniel
+ bugs (Guido Günther), remove a leak in xen inotify code (Daniel
Berrange), UML driver freeing of uninitialialized variable (Ron
Yorston), fix UML inotify code (Daniel Berrange), crash when
adding storage without a format (Cole Robinson)</li>
@@ -1263,8 +1263,8 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
max memory (Jim Fehlig), allow remote://hostname/ URI for automatic
probe of hypervisors (Daniel Berrange), fix daemon configuration
regression testing (Jim Meyering ), check /usr/bin/kvm for QEmu
- driver init (Guido Günther), proper active vs. inactive
- differentiation (Guido Günther), improve MTU setting on tap
+ driver init (Guido Günther), proper active vs. inactive
+ differentiation (Guido Günther), improve MTU setting on tap
interfaces (Eduardo Habkost), increase timeout for initial QEmu
monitor poll (Cole Robinson)</li>
<li>Cleanups:fix improper initialisations (Jim Meyering)</li>
@@ -1272,11 +1272,11 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.5.0: Nov 25 2008</h3>
<ul>
<li>New features: CPU and scheduler support for LXC (Dan Smith), SDL display configuration (Daniel Berrange), domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange), KVM/QEmu migration support (Rich Jones and Chris Lalancette), User Mode Linux driver (Daniel Berrange), API for node device enumeration using HAL and DeviceKit with python bindings (David Lively), </li>
- <li>Portability: RHEL build fixes, VPATH build (Guido Gunther), many MinGW related cleanups and fixes (Richard Jones), compilation without libvirtd (Richard Jones), Add a Windows icon (Richard Jones), sys/poll.h portability fixes (Daniel Berrange), gnulib and mingw cleanups (Jim Meyering), </li>
+ <li>Portability: RHEL build fixes, VPATH build (Guido Günther), many MinGW related cleanups and fixes (Richard Jones), compilation without libvirtd (Richard Jones), Add a Windows icon (Richard Jones), sys/poll.h portability fixes (Daniel Berrange), gnulib and mingw cleanups (Jim Meyering), </li>
<li>Documentation: virsh man page cleanups (Mark McLoughlin), doc for NIC model selection (Richard Jones), monitoring section, link to AMQP bindings, inew APIs, UML driver docs (Daniel Berrange), </li>
- <li>Bug fixes: Xen interfaces ordering (Jim Fehlig), startup timeout with multiple pty (Cole Robinson), segfault if QEmu without active virtual network (Cole Robinson), qemu small leak (Eduardo Habkost), index creation for more than 26 disks (Sanjay Rao and Chris Wright), virRealloc handling of 0 (Daniel Berrange), missing pointer initialization (Chris Lalancette), bus device index bug (Guido Günther), avoid crash in some error patch (Chris Lalancette), fix a problem in storage back-end (Chris Lalancette), minimum domain memory size check for Xen (Shigeki Sakamoto), switch off QEmu cache if device is shared (Charles Duffy), logical volume definition before scan bug (Chris Lalancette), a couple of memory leaks on QEmu vnc (Jim Meyering), lvs parsing fixes (Cole Robinson),</li>
- <li>Improvements: LXC resources control and internal cgroup API (Dan Smith), virDomainCreateLinux renamed virDomainDefineXML, network driver modularization (Daniel Berrange), change the way domain and net are reported in errors (Jim Meyering), partition table scan on iSCSI (Chris Lalancette), qemudDiskDeviceName to handle normal disks (Guido Günther), qemudDomainBlockStats improvement (Guido Günther), scsi/virtio hotplug support for KVM (Guido Günther), USB hot addition in QEmu (Guido Günther), logical pool and storage backend XML dump improvement (Chris Lalancette), MAC addresses prefix per driver (Daniel Berrange), OpenVZ getVersion support (Daniel Berrange), hot removal of scsi/virtio disks for KVM (Guido Günther), test storage driver (Cole Robinson), iSCSI and disk storage driver improvement on path handling (Chris Lalancette), UUID and ID support for Xenner (Daniel Berrange), better logging when when executing commands (Cole Robinson), bridged network for OpenVZ (Daniel Berrange), OpenVZ config file params (Evgeniy Sokolov), allow to build drivers as libtool convenience libs (Daniel Berrange), fully versioned linker script for exported ABI (Daniel Berrange), Push URI probing down into drivers open (Daniel Berrange), move all stateful drivers into the daemon binary (Daniel Berrange), improve domain event with a detail field (Daniel Berrange), domain events for QEMU driver (Daniel Berrange), event unregister callback crash (David Lively), plug a few leaks (Daniel Berrange), internal APIs for handling node device XML config (David Lively), tweaks to node device implementation (Daniel Berrange), OpenVZ vCPUs values init (Evgeniy Sokolov)</li>
- <li>Cleanups: C99 initializers (Guido Gunther), test output (Cole Robinson), debug macro centralization (Cole Robinson), various error handling (Guido Günther), safewrite use cleanup (Jim Meyering), centralize error reporting logic (Cole Robinson), avoid printf warnings (Daniel Berrange), use arrays instead of list for internal APIs (Daniel Berrange), remove many format string warnings Jim Meyering), avoid syntax check warnings (Chris Lalancette), improve po-check and list generation (Jim Meyering), .gitignore generation and handling (Jim Meyering), use ARRAY_CARDINALITY (Jim Meyering), gnulib updates and switch to use netdb.h (Jim Meyering), drop usage of socket_errno (Jim Meyering), remove socketcompat.h (Jim Meyering), more tests (Jim Meyering), drop virStringList (Daniel Berrange), reformatting and isolation of the error APIs (Daniel Berrange), cleanup internal.h and move internal APIs in specific headers (Daniel Berrange), move domain events helpers into domain_events.c (Daniel Berrange), cleanup the way optional modules are compiled (Daniel Berrange), add new logging module, optional dlopen of drivers (Daniel Berrange), various new tests (Jim Meyering), cleanups when Xen is not configured in (Daniel Berrange), add some missing functions comments (Jim Meyering),</li>
+ <li>Bug fixes: Xen interfaces ordering (Jim Fehlig), startup timeout with multiple pty (Cole Robinson), segfault if QEmu without active virtual network (Cole Robinson), qemu small leak (Eduardo Habkost), index creation for more than 26 disks (Sanjay Rao and Chris Wright), virRealloc handling of 0 (Daniel Berrange), missing pointer initialization (Chris Lalancette), bus device index bug (Guido Günther), avoid crash in some error patch (Chris Lalancette), fix a problem in storage back-end (Chris Lalancette), minimum domain memory size check for Xen (Shigeki Sakamoto), switch off QEmu cache if device is shared (Charles Duffy), logical volume definition before scan bug (Chris Lalancette), a couple of memory leaks on QEmu vnc (Jim Meyering), lvs parsing fixes (Cole Robinson),</li>
+ <li>Improvements: LXC resources control and internal cgroup API (Dan Smith), virDomainCreateLinux renamed virDomainDefineXML, network driver modularization (Daniel Berrange), change the way domain and net are reported in errors (Jim Meyering), partition table scan on iSCSI (Chris Lalancette), qemudDiskDeviceName to handle normal disks (Guido Günther), qemudDomainBlockStats improvement (Guido Günther), scsi/virtio hotplug support for KVM (Guido Günther), USB hot addition in QEmu (Guido Günther), logical pool and storage backend XML dump improvement (Chris Lalancette), MAC addresses prefix per driver (Daniel Berrange), OpenVZ getVersion support (Daniel Berrange), hot removal of scsi/virtio disks for KVM (Guido Günther), test storage driver (Cole Robinson), iSCSI and disk storage driver improvement on path handling (Chris Lalancette), UUID and ID support for Xenner (Daniel Berrange), better logging when when executing commands (Cole Robinson), bridged network for OpenVZ (Daniel Berrange), OpenVZ config file params (Evgeniy Sokolov), allow to build drivers as libtool convenience libs (Daniel Berrange), fully versioned linker script for exported ABI (Daniel Berrange), Push URI probing down into drivers open (Daniel Berrange), move all stateful drivers into the daemon binary (Daniel Berrange), improve domain event with a detail field (Daniel Berrange), domain events for QEMU driver (Daniel Berrange), event unregister callback crash (David Lively), plug a few leaks (Daniel Berrange), internal APIs for handling node device XML config (David Lively), tweaks to node device implementation (Daniel Berrange), OpenVZ vCPUs values init (Evgeniy Sokolov)</li>
+ <li>Cleanups: C99 initializers (Guido Günther), test output (Cole Robinson), debug macro centralization (Cole Robinson), various error handling (Guido Günther), safewrite use cleanup (Jim Meyering), centralize error reporting logic (Cole Robinson), avoid printf warnings (Daniel Berrange), use arrays instead of list for internal APIs (Daniel Berrange), remove many format string warnings Jim Meyering), avoid syntax check warnings (Chris Lalancette), improve po-check and list generation (Jim Meyering), .gitignore generation and handling (Jim Meyering), use ARRAY_CARDINALITY (Jim Meyering), gnulib updates and switch to use netdb.h (Jim Meyering), drop usage of socket_errno (Jim Meyering), remove socketcompat.h (Jim Meyering), more tests (Jim Meyering), drop virStringList (Daniel Berrange), reformatting and isolation of the error APIs (Daniel Berrange), cleanup internal.h and move internal APIs in specific headers (Daniel Berrange), move domain events helpers into domain_events.c (Daniel Berrange), cleanup the way optional modules are compiled (Daniel Berrange), add new logging module, optional dlopen of drivers (Daniel Berrange), various new tests (Jim Meyering), cleanups when Xen is not configured in (Daniel Berrange), add some missing functions comments (Jim Meyering),</li>
</ul>
<h3>0.4.6: Sep 23 2008</h3>
<ul>
@@ -1288,7 +1288,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
OpenVZ (Evgeniy Sokolov), fix parsing of pool without a source
(Chris Lalancette and Daniel Berrange)</li>
<li>Improvements: add storage disk volume delete (Cole Robinson),
- KVM dynamic max CPU detection (Guido Günther), spec file improvement
+ KVM dynamic max CPU detection (Guido Günther), spec file improvement
for minimal builds (Ben Guthro), improved error message in XM
configuration module (Richard Jones), network config in OpenVZ
support (Evgeniy Sokolov), enable stopping a pool in logical
@@ -1303,7 +1303,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
unified XML domain and network parsing for all drivers (Daniel
Berrange), OpenVZ features improvements (Evgeniy Sokolov),
OpenVZ and Linux containers support now default, USB device
- passthrough for QEmu/KVM (Guido Günther), storage pool source
+ passthrough for QEmu/KVM (Guido Günther), storage pool source
discovery (David Lively)</li>
<li>Portability: fixes for MinGW (Atsushi SAKAI and Daniel Berrange),
detection of xen lib improvement (David Lively),
@@ -1315,7 +1315,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<li>Documentation: various typo fixes (Anton Protopopov, Toth
István, Atsushi SAKAI, Nguyen Anh Quynh),
Java bindings docs, remove Xen centric
- comments (Guido Günther), various typo in comments (Chris
+ comments (Guido Günther), various typo in comments (Chris
Lalancette), docs and API comments fixes (Charles Duffy),
how to contribute to open source link (Richard Jones),
memory unit fixups (matthew chan)</li>
@@ -1325,14 +1325,14 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
in QEmu/KVM (Daniel Berrange), fix OpenVZ probe function (Evgeniy
Sokolov), ID related lookup fixes in OpenVZ (Evgeniy Sokolov),
pool cration for netfs (Cole Robinson), check for migrate support
- with QEmu (Guido Günther), check against double create with QEmu
- (Guido Günther), broken open failure detection in QEmu (Guido
- Günther), UUID string conversions in QEmu (Guido Günther),
+ with QEmu (Guido Günther), check against double create with QEmu
+ (Guido Günther), broken open failure detection in QEmu (Guido
+ Günther), UUID string conversions in QEmu (Guido Günther),
various small cleanup and bug fixes (Daniel Berrange), ID
related fixes in the test driver (Daniel Berrange), better error
reporting on XML parsing (Daniel Berrange), empty CD-ROM source
device section (Chris Lalancette), avoid crashes for interface
- without a name in QEmu (Guido Günther), provide the real
+ without a name in QEmu (Guido Günther), provide the real
vncport (Charles Duffy), fix forward delay (Daniel Berrange),
new VM state is initialized to be SHUTOFF (Daniel Berrange),
virsh attach-disk bug fixes (Chris Lalancette), veth clash
@@ -1364,7 +1364,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
(Daniel Berrange), virsh "edit" command (Richard Jones), save
UUID of OpenVZ domains (Evgeniy Sokolov), improve xen blocks
statistics (Chris Lalancette), gnulib updates (Jim Meyering),
- allow to add disk as USB devices (Guido Günther), LXC container
+ allow to add disk as USB devices (Guido Günther), LXC container
process should survive libvirtd restarts (Daniel Berrange), allow
to define static host domain configs, number of CPU used by
OpenVZ domains (Evgeniy Sokolov), private root fs for LXC (Daniel
@@ -1496,9 +1496,9 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
driver (Cole Robinson), xen and hvm added to test driver capabilities
(Cole Robinson)</li>
<li>Code cleanup: remove unused getopt header (Jim Meyering), mark more
- strings as translatable (Guido Günther and Jim Meyering), convert
+ strings as translatable (Guido Günther and Jim Meyering), convert
error strings to something meaningful and translatable (Jim Meyering),
- Linux Containers code cleanup, last error initializer (Guido Günther)</li>
+ Linux Containers code cleanup, last error initializer (Guido Günther)</li>
</ul>
<h3>0.4.1: Mar 3 2008</h3>
<ul>
@@ -1514,7 +1514,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
preserve vif order from config files (Hiroyuki Kaguchi), invalid
pointer access (Jim Meyering), virDomainGetXMLDesc flag handling,
device name conversion on stats (Daniel Berrange), double mutex lock
- (Daniel Berrange), config file reading crashes (Guido Guenther),
+ (Daniel Berrange), config file reading crashes (Guido Günther),
xenUnifiedDomainSuspend bug (Marcus Meissner), do not crash if
/sys/hypervisor/capabilities is missing (Mark McLoughlin),
virHashRemoveSet bug (Hiroyuki Kaguchi), close-on-exec flag for
@@ -1523,7 +1523,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
MAC addresses checks (Shigeki Sakamoto and Richard Jones),
allow to read non-seekable files (Jim Meyering)</li>
<li>Improvements: Windows build (Richard Jones), KVM/QEmu shutdown
- (Guido Guenther), catch virExec output on debug (Mark McLoughlin),
+ (Guido Günther), catch virExec output on debug (Mark McLoughlin),
integration of iptables and lokkit (Mark McLoughlin), keymap
parameter for VNC servers (Daniel Hokka Zakrisson), enable debug
by default using VIR_DEBUG (Daniel Berrange), xen 3.2 fixes
@@ -1545,7 +1545,7 @@ and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
for RHEL4 (Daniel Berrange), CR/LF cleanups (Richard Jones),
various automatic code check and associated cleanups (Jim Meyering),
various memory leaks (Jim Meyering), fix compilation when building
- without Xen (Guido Guenther), mark translatables strings (Jim Meyering),
+ without Xen (Guido Günther), mark translatables strings (Jim Meyering),
use virBufferAddLit for constant strings (Jim Meyering), fix
make distcheck (Jim Meyering), return values for python bindings (Cole
Robinson), trailing blanks fixes (Jim Meyering), gcc-4.3.0 fixes
--
1.6.0.4
15 years, 4 months
[libvirt] [PATCH] Make QEMU text monitor parsing more robust
by Daniel P. Berrange
The QEMU 0.10.0 release (and possibly other 0.10.x) has a bug where
it sometimes/often forgets to display the initial monitor greeting
line, soley printing a (qemu). This in turn confuses the text
console parsing because it has a '(qemu)' it is not expecting. The
confusion results in a negative malloc. Bad things follow.
This re-writes the text console handling to be more robust. The key
idea is that it should only look for a (qemu), once it has seen the
original command echo'd back. This ensures it'll skip the bogus stray
(qemu) with broken QEMUs.
* src/qemu/qemu_monitor.c: Add some (disabled) debug code
* src/qemu/qemu_monitor_text.c: Re-write way command replies
are detected
---
src/qemu/qemu_monitor.c | 28 +++++++++++
src/qemu/qemu_monitor_text.c | 102 +++++++++++++++++++++++++++--------------
2 files changed, 95 insertions(+), 35 deletions(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index abb763c..103cf28 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -39,6 +39,8 @@
#define VIR_FROM_THIS VIR_FROM_QEMU
+#define QEMU_DEBUG_RAW_IO 0
+
struct _qemuMonitor {
virMutex lock;
virCond notify;
@@ -163,6 +165,24 @@ char *qemuMonitorEscapeShell(const char *in)
}
+#if QEMU_DEBUG_RAW_IO
+#include <c-ctype.h>
+static char * qemuMonitorEscapeNonPrintable(const char *text)
+{
+ int i;
+ virBuffer buf = VIR_BUFFER_INITIALIZER;
+ for (i = 0 ; text[i] != '\0' ; i++) {
+ if (c_isprint(text[i]) ||
+ text[i] == '\n' ||
+ (text[i] == '\r' && text[i+1] == '\n'))
+ virBufferVSprintf(&buf,"%c", text[i]);
+ else
+ virBufferVSprintf(&buf, "0x%02x", text[i]);
+ }
+ return virBufferContentAndReset(&buf);
+}
+#endif
+
void qemuMonitorLock(qemuMonitorPtr mon)
{
virMutexLock(&mon->lock);
@@ -282,7 +302,15 @@ qemuMonitorIOProcess(qemuMonitorPtr mon)
if (mon->msg && mon->msg->txOffset == mon->msg->txLength)
msg = mon->msg;
+#if QEMU_DEBUG_RAW_IO
+ char *str1 = qemuMonitorEscapeNonPrintable(msg ? msg->txBuffer : "");
+ char *str2 = qemuMonitorEscapeNonPrintable(mon->buffer);
+ VIR_ERROR("Process %d %p %p [[[[%s]]][[[%s]]]", (int)mon->bufferOffset, mon->msg, msg, str1, str2);
+ VIR_FREE(str1);
+ VIR_FREE(str2);
+#else
VIR_DEBUG("Process %d", (int)mon->bufferOffset);
+#endif
if (mon->json)
len = qemuMonitorJSONIOProcess(mon,
mon->buffer, mon->bufferOffset,
diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index 0d5ad79..72cb2bb 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -94,46 +94,78 @@ int qemuMonitorTextIOProcess(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
/* Look for a non-zero reply followed by prompt */
if (msg && !msg->finished) {
- const char *end;
-
- /* We might get a prompt for a password */
- end = strstr(data + used, PASSWORD_PROMPT);
- if (end) {
- VIR_DEBUG("Woooo passwowrd [%s]", data + used);
- if (msg->passwordHandler) {
- size_t consumed;
- /* Try and handle the prompt */
- if (msg->passwordHandler(mon, msg,
- data + used,
- len - used,
- msg->passwordOpaque) < 0)
- return -1;
+ char *start = NULL;
+ char *end = NULL;
+ char *skip;
- /* Skip over prompt now */
- consumed = (end + strlen(PASSWORD_PROMPT))
- - (data + used);
- used += consumed;
- } else {
- errno = EACCES;
- return -1;
+ /* If we're here, we've already sent the command. We now
+ * strip the trailing '\r' because it makes the matching
+ * code that follows a little easier ie we can just strstr()
+ * for the original command
+ */
+ if (msg->txLength > 0) {
+ char *tmp;
+ if ((tmp = strchr(msg->txBuffer, '\r'))) {
+ *tmp = '\0';
}
}
- /* We use the arrival of BASIC_PROMPT to detect when we've got a
- * complete reply available from a command */
- end = strstr(data + used, BASIC_PROMPT);
- if (end) {
- /* QEMU echos the command back to us, full of control
- * character junk that we don't want. Fortunately this
- * is all terminated by LINE_ENDING, so we can easily
- * skip over the control character junk */
- const char *start = strstr(data + used, LINE_ENDING);
- if (!start)
- start = data + used;
- else
- start += strlen(LINE_ENDING);
- int want = end - start;
+ /* QEMU echos the command back to us, full of control
+ * character junk that we don't want. We have to skip
+ * over this junk by looking for the first complete
+ * repetition of our command. Then we can look for
+ * the prompt that is supposed to follow
+ *
+ * NB, we can't optimize by immediately looking for
+ * LINE_ENDING, because QEMU 0.10 has bad problems
+ * when initially connecting where it might write a
+ * prompt in the wrong place. So we must not look
+ * for LINE_ENDING, or BASIC_PROMPT until we've
+ * seen our original command echod.
+ */
+ skip = strstr(data + used, msg->txBuffer);
+
+ /* After the junk we should have a line ending... */
+ if (skip) {
+ start = strstr(skip + strlen(msg->txBuffer), LINE_ENDING);
+ }
+
+ /* ... then our command reply data, following by a (qemu) prompt */
+ if (start) {
+ char *passwd;
+ start += strlen(LINE_ENDING);
+
+ /* We might get a prompt for a password before the (qemu) prompt */
+ passwd = strstr(start, PASSWORD_PROMPT);
+ if (passwd) {
+ VIR_DEBUG("Seen a passwowrd prompt [%s]", data + used);
+ if (msg->passwordHandler) {
+ int i;
+ /* Try and handle the prompt */
+ if (msg->passwordHandler(mon, msg,
+ start,
+ passwd - start + strlen(PASSWORD_PROMPT),
+ msg->passwordOpaque) < 0)
+ return -1;
+
+ /* Blank out the password prompt so we don't re-trigger
+ * if we have to go back to sleep for more I/O */
+ for (i = 0 ; i < strlen(PASSWORD_PROMPT) ; i++)
+ start[i] = ' ';
+
+ /* Handled, so skip forward over password prompt */
+ start = passwd;
+ } else {
+ errno = EACCES;
+ return -1;
+ }
+ }
+ end = strstr(start, BASIC_PROMPT);
+ }
+
+ if (start && end) {
+ int want = end - start;
/* Annoyingly some commands may not have any reply data
* at all upon success, but since we've detected the
* BASIC_PROMPT we can reasonably reliably cope */
--
1.6.5.2
15 years, 4 months
[libvirt] Functions issues
by Jaromír Červenka
Hi,
while writing SharpLibVirt I ran into several problems with some functions:
virDomainInterfaceStats
------------------------------------
It is not possible get any result, because of error "invalid argument
in invalid path, 'user.0' is not a known interface". But inside LOG
for this domain is
"... -net user,vlan=0,name=user.0 ... "
It is not possible get stats for nic.0 also. Tested on KVM hypervisor.
virStoragePoolIsActive and virStoragePoolIsPersistent
-------------------------------------------------------------------------------
Both cause crash of libvirt deamon. I dont know why.
Tested on 0.7.4 and Qemu 0.11.0
Thanks for answer,
Jaromír Červenka
Official openSUSE community member
Web: http://www.cervajz.com/
Jabber: cervajz(a)cervajz.com
MSN: jara.cervenka(a)seznam.cz
Tel.: +420 607 592 687
Alt. e-mails:
jaromir.cervenka(a)opensuse.org,
jaromir.cervenka(a)speel.cz
15 years, 4 months
[libvirt] [PATCH] Use AM_PATH_PYTHON and python-config to detect Python configuration
by Matthias Bolte
Using AM_PATH_PYTHON solves the site-packages directory problem. At least
in Ubuntu with Python 2.6 and later site-packages is renamed to dist-packages
and site-packages is not part of sys.path anymore. So installing the libvirt
Python bindings to site-packages renders them unusable, because they can be
imported from there without manually including site-packages into sys.path.
AM_PATH_PYTHON detects the correct site-packages/dist-packages directory.
python-config --includes gives the correct include path for the Python header
files. The old probing code stays there as fallback mechanism.
* configure.in: use AM_PATH_PYTHON and python-config
* python/Makefile.am: remove -I because PYTHON_INCLUDES contains it now
---
configure.in | 110 +++++++++++++++++++++++++---------------------------
python/Makefile.am | 2 +-
2 files changed, 54 insertions(+), 58 deletions(-)
diff --git a/configure.in b/configure.in
index f735bba..d6e5979 100644
--- a/configure.in
+++ b/configure.in
@@ -1414,75 +1414,71 @@ AC_ARG_WITH([python],
PYTHON_VERSION=
PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-PYTHON_TESTS=
pythondir=
if test "$with_python" != "no" ; then
if test -x "$with_python/bin/python"
then
- echo Found python in $with_python/bin/python
+ AC_MSG_NOTICE(Found python in $with_python/bin/python)
PYTHON="$with_python/bin/python"
+ with_python=yes
else
- if test -x "$with_python"
- then
- echo Found python in $with_python
- PYTHON="$with_python"
- else
- if test -x "$PYTHON"
- then
- echo Found python in environment PYTHON=$PYTHON
- with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
- else
- AC_PATH_PROG([PYTHON], [python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5])
- fi
- fi
- fi
- if test "$PYTHON" != ""
- then
- PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
- echo Found Python version $PYTHON_VERSION
- fi
- if test "$PYTHON_VERSION" != ""
- then
- if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
- -d $with_python/lib/python$PYTHON_VERSION/site-packages
- then
- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
- else
- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
- then
- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
- else
- if test -r /usr/include/python$PYTHON_VERSION/Python.h
- then
- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
- PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
- else
- echo could not find python$PYTHON_VERSION/Python.h
- fi
- fi
- if test ! -d "$PYTHON_SITE_PACKAGES"
- then
- PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
- fi
- fi
+ if test -x "$with_python"
+ then
+ AC_MSG_NOTICE(Found python in $with_python)
+ PYTHON="$with_python"
+ with_python=yes
+ else
+ if test -x "$PYTHON"
+ then
+ AC_MSG_NOTICE(Found python in environment PYTHON=$PYTHON)
+ with_python=yes
+ fi
+ fi
fi
- if test "$with_python" != "yes"
- then
- pythondir='$(PYTHON_SITE_PACKAGES)'
+
+ if test "$with_python" == "yes" ; then
+ AM_PATH_PYTHON(,, [:])
+
+ if test "$PYTHON" != : ; then
+ PYTHON_CONFIG="$PYTHON-config"
+
+ if test -x "$PYTHON_CONFIG"
+ then
+ PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
+ else
+ if test -r $PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I$PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION
+ else
+ if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I$prefix/include/python$PYTHON_VERSION
+ else
+ if test -r /usr/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I/usr/include/python$PYTHON_VERSION
+ else
+ AC_MSG_NOTICE([Could not find python$PYTHON_VERSION/Python.h, disabling bindings])
+ with_python=no
+ fi
+ fi
+ fi
+ fi
+ else
+ AC_MSG_NOTICE([Could not find python interpreter, disabling bindings])
+ with_python=no
+ fi
else
- pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+ AC_MSG_NOTICE([Could not find python in $with_python, disabling bindings])
+ with_python=no
fi
-else
- PYTHON=
fi
-AM_CONDITIONAL([WITH_PYTHON], test "$PYTHON_INCLUDES" != "")
-AC_SUBST([pythondir])
+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
AC_SUBST([PYTHON_VERSION])
AC_SUBST([PYTHON_INCLUDES])
-AC_SUBST([PYTHON_SITE_PACKAGES])
+AC_SUBST([pythondir])
+
+
AC_MSG_CHECKING([whether this host is running a Xen kernel])
RUNNING_XEN=
diff --git a/python/Makefile.am b/python/Makefile.am
index cda6559..736631e 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -4,7 +4,7 @@ SUBDIRS= . tests
INCLUDES = \
$(WARN_CFLAGS) \
- -I$(PYTHON_INCLUDES) \
+ $(PYTHON_INCLUDES) \
-I$(top_srcdir)/include \
-I$(top_builddir)/include \
-I$(top_builddir)/$(subdir)
--
1.6.0.4
15 years, 4 months
[libvirt] [PATCH] Add missing commas to the 0.7.4 news section
by Matthias Bolte
---
docs/news.html.in | 428 ++++++++++++++++++++++++++--------------------------
1 files changed, 214 insertions(+), 214 deletions(-)
diff --git a/docs/news.html.in b/docs/news.html.in
index 47d7f42..3586071 100644
--- a/docs/news.html.in
+++ b/docs/news.html.in
@@ -3,240 +3,240 @@
<body>
<h1 >Releases</h1>
<p>Here is the list of official releases, however since it is early on in the
-development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
+development of libvirt, it is preferable when possible to just use the <a href="downloads.html">GIT version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progress.</p>
<h3>0.7.4: Nov 20 2009</h3>
<ul>
<li>Features:
- Implement a node device backend using libudev (David Allan)
- New APIs for checking some object properties (Daniel P. Berrange)
- Fully asynchronous monitor I/O processing (Daniel P. Berrange)
- add MAC address based port filtering to qemu (Gerhard Stenzel)
+ Implement a node device backend using libudev (David Allan),
+ New APIs for checking some object properties (Daniel P. Berrange),
+ Fully asynchronous monitor I/O processing (Daniel P. Berrange),
+ add MAC address based port filtering to qemu (Gerhard Stenzel),
Support for IPv6 / multiple addresses per interfaces (Laine Stump)
</li>
<li>Documentation:
- Document overriding domain interface target (Cole Robinson)
- 514532 Fix man page, most operation are synchronous (Daniel Veillard)
- Fix typo in error message (Matthew Booth)
- esx: Add documentation to the website (Matthias Bolte)
- AppArmor updates of examples (Jamie Strandboge)
- Add documentation for <channel> domain element (Matthew Booth)
- Separate character device doc guest and host parts (Matthew Booth)
- Add a Python example that lists active ESX domains (Matthias Bolte)
- LXC fix wrong or out-of-date function descriptions (Ryota Ozaki)
- docs: <clock> property is 'offset', not 'sync' (Cole Robinson)
- Update the documentation for virDomainMigrateToURI (Chris Lalancette)
+ Document overriding domain interface target (Cole Robinson),
+ 514532 Fix man page, most operation are synchronous (Daniel Veillard),
+ Fix typo in error message (Matthew Booth),
+ esx: Add documentation to the website (Matthias Bolte),
+ AppArmor updates of examples (Jamie Strandboge),
+ Add documentation for <channel> domain element (Matthew Booth),
+ Separate character device doc guest and host parts (Matthew Booth),
+ Add a Python example that lists active ESX domains (Matthias Bolte),
+ LXC fix wrong or out-of-date function descriptions (Ryota Ozaki),
+ docs: <clock> property is 'offset', not 'sync' (Cole Robinson),
+ Update the documentation for virDomainMigrateToURI (Chris Lalancette),
fix virDomainMigrateToURI doc (Dan Kenigsberg)
</li>
<li>Bug fixes:
- 504262 Check for duplicated UUID in XM Xen defines (Daniel Veillard)
- 512069 fix domain XML schemas for backward compatibility (Daniel Veillard)
- qemu-kvm needs -enable-kvm flag for VT optimization (Steve Yarmie)
- fix deprecated iptables command syntax (Steve Yarmie)
- Ensure driver lock is released when entering QEMU monitor (Daniel P. Berrange)
- only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther)
- esx: Fix CPU clock Hz to MHz conversion (Matthias Bolte)
- esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() (Matthias Bolte)
- esx: Fix MAC address formatting (Matthias Bolte)
- Fix compilation of libvirt against xen-unstable (Jim Fehlig)
- Fix probing for libpciaccess (Daniel P. Berrange)
- Fix incorrect reference counting logic in qemu monitor open (Daniel P. Berrange)
- Don't return fatal error in HAL driver init if HAL isn't running (Daniel P. Berrange)
- Fix cleanup when state driver init fails (Daniel P. Berrange)
- AppArmor handling of accesses to readonly files (Jamie Strandboge)
- AppArmor require absolute paths (Jamie Strandboge)
- Check that domain is running when starting console (Daniel P. Berrange)
- Fix incorrect variable passed to LXC event callback (Daniel P. Berrange)
- Fix race condition in HAL driver startup (Daniel P. Berrange)
- Remove capng_lock() call when spawning LXC container init process (Daniel P. Berrange)
- Fix initscript to check daemon pidfile (Daniel P. Berrange)
- Filter out stale domains from xenstore listing (Daniel P. Berrange)
- Fix logic in xenUnifiedNumOfDomains to match xenUnifiedListDomains (Jonas Eriksson)
- Disable IPv6 socket auto-binding to IPv4 socket (Daniel P. Berrange)
- Fix save and restore with non-privileged guests and SELinux (Daniel P. Berrange)
- Prevent initializing ebtables if disabled in qemu.conf (Ryota Ozaki)
- phyp: too much timeout when polling socket (Eduardo Otubo)
- phyp: ssh authentication with public key fixed (Eduardo Otubo)
- opennebula: Fix potential memory/mutex leak in state driver startup (Matthias Bolte)
- phyp: Break potential infinite loops (Matthias Bolte)
- phyp: Fix memory/session leaks and potential invalid frees (Matthias Bolte)
- storage: conf: Fix memory leak in encryption parsing (Cole Robinson)
- Fix improper error return in virInterfaceDefParseProtoIPvX (Laine Stump)
- Fix virInterfaceIpDefPtr leak during virInterfaceIpDefFree (Laine Stump)
- give up python interpreter lock before calling cb (Dan Kenigsberg)
- ESX: Fix memory leak in list handling functions. (Matthias Bolte)
- Fix --with-init-script configure option (Matthew Booth)
- Don't let parent of daemon exit until basic initialization is done (Daniel P. Berrange)
- Fix configure detection of device mapper (Pritesh Kothari)
- Remote code caught EINTR making it ininterruptable (Daniel Veillard)
- virterror: Add a missing 'break' for VIR_ERR_INVALID_SECRET (Cole Robinson)
- Fix p2p migration without a passed uri. (Cole Robinson)
- Fix problems in the Xen inotify driver. (Matthias Bolte)
- Remove a completely bogus reference increment in the Xen driver. (Chris Lalancette)
- 528575 avoid libvirtd crash on LCX domain autostart (Daniel Veillard)
- Fix SELinux linking issues (Jim Fehlig)
- node device: Fix locking issue in virNodeDeviceDestroy (Cole Robinson)
- LXC fix virCgroupGetValueStr problem with \n (Ryota Ozaki)
- Avoid crash in virBufferEscapeString (Laine Stump)
+ 504262 Check for duplicated UUID in XM Xen defines (Daniel Veillard),
+ 512069 fix domain XML schemas for backward compatibility (Daniel Veillard),
+ qemu-kvm needs -enable-kvm flag for VT optimization (Steve Yarmie),
+ fix deprecated iptables command syntax (Steve Yarmie),
+ Ensure driver lock is released when entering QEMU monitor (Daniel P. Berrange),
+ only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther),
+ esx: Fix CPU clock Hz to MHz conversion (Matthias Bolte),
+ esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() (Matthias Bolte),
+ esx: Fix MAC address formatting (Matthias Bolte),
+ Fix compilation of libvirt against xen-unstable (Jim Fehlig),
+ Fix probing for libpciaccess (Daniel P. Berrange),
+ Fix incorrect reference counting logic in qemu monitor open (Daniel P. Berrange),
+ Don't return fatal error in HAL driver init if HAL isn't running (Daniel P. Berrange),
+ Fix cleanup when state driver init fails (Daniel P. Berrange),
+ AppArmor handling of accesses to readonly files (Jamie Strandboge),
+ AppArmor require absolute paths (Jamie Strandboge),
+ Check that domain is running when starting console (Daniel P. Berrange),
+ Fix incorrect variable passed to LXC event callback (Daniel P. Berrange),
+ Fix race condition in HAL driver startup (Daniel P. Berrange),
+ Remove capng_lock() call when spawning LXC container init process (Daniel P. Berrange),
+ Fix initscript to check daemon pidfile (Daniel P. Berrange),
+ Filter out stale domains from xenstore listing (Daniel P. Berrange),
+ Fix logic in xenUnifiedNumOfDomains to match xenUnifiedListDomains (Jonas Eriksson),
+ Disable IPv6 socket auto-binding to IPv4 socket (Daniel P. Berrange),
+ Fix save and restore with non-privileged guests and SELinux (Daniel P. Berrange),
+ Prevent initializing ebtables if disabled in qemu.conf (Ryota Ozaki),
+ phyp: too much timeout when polling socket (Eduardo Otubo),
+ phyp: ssh authentication with public key fixed (Eduardo Otubo),
+ opennebula: Fix potential memory/mutex leak in state driver startup (Matthias Bolte),
+ phyp: Break potential infinite loops (Matthias Bolte),
+ phyp: Fix memory/session leaks and potential invalid frees (Matthias Bolte),
+ storage: conf: Fix memory leak in encryption parsing (Cole Robinson),
+ Fix improper error return in virInterfaceDefParseProtoIPvX (Laine Stump),
+ Fix virInterfaceIpDefPtr leak during virInterfaceIpDefFree (Laine Stump),
+ give up python interpreter lock before calling cb (Dan Kenigsberg),
+ ESX: Fix memory leak in list handling functions. (Matthias Bolte),
+ Fix --with-init-script configure option (Matthew Booth),
+ Don't let parent of daemon exit until basic initialization is done (Daniel P. Berrange),
+ Fix configure detection of device mapper (Pritesh Kothari),
+ Remote code caught EINTR making it ininterruptable (Daniel Veillard),
+ virterror: Add a missing 'break' for VIR_ERR_INVALID_SECRET (Cole Robinson),
+ Fix p2p migration without a passed uri. (Cole Robinson),
+ Fix problems in the Xen inotify driver. (Matthias Bolte),
+ Remove a completely bogus reference increment in the Xen driver. (Chris Lalancette),
+ 528575 avoid libvirtd crash on LCX domain autostart (Daniel Veillard),
+ Fix SELinux linking issues (Jim Fehlig),
+ node device: Fix locking issue in virNodeDeviceDestroy (Cole Robinson),
+ LXC fix virCgroupGetValueStr problem with \n (Ryota Ozaki),
+ Avoid crash in virBufferEscapeString (Laine Stump),
LXC complement PATH environment variable (Ryota Ozaki)
</li>
<li>Improvements:
- Enable udev instead of hal on F12 / RHEL-6 or later (Daniel P. Berrange)
- python: Actually implement list*Interfaces bindings (Cole Robinson)
- esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() (Matthias Bolte)
- Fix check for existance of cgroups at creation (Daniel P. Berrange)
- Fix virt-aa-helper when host and os.type arch differ (Jamie Strandboge)
- Add translation of PCI vendor and product IDs (David Allan)
- Add scsi_target device type (David Allan)
- Add several fields to node device capabilities (David Allan)
- Add virConnectGetLibvirtVersion API (Cole Robinson)
- Implement finer grained migration control for Xen (Maximilian Wilhelm)
- Support for SATA Disks in virDomainDiskBus (pritesh)
- LXC implement missing DomainInterfaceStats API (Ryota Ozaki)
- disable mac_filter config switch by default (Gerhard Stenzel)
- phyp: Reorder keyboard_interactive label in openSSHSession() (Eduardo Otubo)
- Implmentation of new APIs to checking state/persistence of objects (Daniel P. Berrange)
- Allow timeouts waiting for QEMU job lock (Daniel P. Berrange)
- Release driver and domain lock when running monitor commands (Daniel P. Berrange)
- Add reference counting on virDomainObjPtr objects (Daniel P. Berrange)
- Locking of the qemuMonitorPtr object (Daniel P. Berrange)
- Wrap text mode monitor APIs, pass qemuMonitorPtr directly to APIs (Daniel P. Berrange)
- Move encryption lookup back into qemu driver file (Daniel P. Berrange)
- Make use of private data structure for monitor state (Daniel P. Berrange)
- Add a new timed condition variable wait API (Daniel P. Berrange)
- Fix errno handling for pthreads wrappers (Daniel P. Berrange)
- 524280 pass max lease option to dnsmasq (Daniel Veillard)
- Store the range size when adding a DHCP range (Daniel Veillard)
- qemu: Allow cpu pinning for all logical CPUs, not just physical (Cole Robinson)
- qemu: Use same create/define overwrite logic for migration prepare. (Cole Robinson)
- qemu: Break out function to check if we can create/define/restore (Cole Robinson)
- Add sentinel attribute for NULL terminated arg lists (Paolo Bonzini)
- test: Update inactive guest config on shutdown (Cole Robinson)
- test: Add testDomainShutdownState helper (Cole Robinson)
- Properly convert port numbers to/from network byte order (Matthew Booth)
- phyp add create() and destroy() support (Eduardo Otubo)
- Support for <channel> in domain and QEmu backend (Matthew Booth)
- Detect availability of QEMU -chardev CLI option (Matthew Booth)
- Allow character devices to have different target types (Matthew Booth)
- LXC allow container to have ethN interfaces (Ryota Ozaki)
- New ebtables module wrapper (Gerhard Stenzel)
- test: Implement virDomainPinVcpu (Cole Robinson)
- test: Implement virDomainGetVcpus (Cole Robinson)
- test: Update vcpu runtime info in SetVcpus (Cole Robinson)
- test: Use privateData to track running VM vcpu state (Cole Robinson)
- test: Break out wrapper for setting up started domain state. (Cole Robinson)
- test: Fixes for SetVcpus (Cole Robinson)
- Make monitor type (miimon/arpmon) optional in bond xml (Laine Stump)
- Support reporting live interface IP/netmask (Laine Stump)
- Make startmode optional in toplevel interface definition (Laine Stump)
- Move libvirtd event loop into background thread (Daniel P. Berrange)
- Allow NULL mac address in virGetInterface (Laine Stump)
- ESX: Don't automatically follow redirects. (Matthias Bolte)
- ESX: Change disk selection for datastore detection. (Matthias Bolte)
- ESX: Fallback to the preliminary name if the datastore cannot be found. (Matthias Bolte)
- Set KMEMSIZE for OpenVZ domains being defined (Yuji NISHIDA)
- Allow for a driver specific private data blob in virDomainObjPtr (Daniel P. Berrange)
- More network utility functions (Matthew Booth)
- Add symbols from new network.h module (Daniel Veillard)
- Set of new network related utilities (Daniel Veillard)
- Convert virDomainObjListPtr to use a hash of domain objects (Daniel P. Berrange)
- qemu: migrate: Don't require manual URI to specify a port (Cole Robinson)
- test: Support virStorageFindPoolSources (Cole Robinson)
- storage: Add ParseSourceString function for use with FindPoolSources. (Cole Robinson)
- Add support for an external TFTP boot server (Paolo Bonzini)
- test: Support virNodeDeviceCreate and virNodeDeviceDestroy (Cole Robinson)
- Consolidate virXPathNodeSet() (Daniel Veillard)
- Support QEMU watchdog device. (Richard Jones)
- Do not log rotate very small logs (Dan Kenigsberg)
- LXC implement missing macaddr assignment feature (Ryota Ozaki)
- tests: Initialize virRandom in for test suite. (Cole Robinson)
- tests: Add storage volume XML 2 XML tests. (Cole Robinson)
- tests: Add network XML to XML tests. (Cole Robinson)
- schema: Update network schema. (Cole Robinson)
- tests: Add XML 2 XML tests for storage pools. (Cole Robinson)
- tests: Break out duplicate schema verification functionality. (Cole Robinson)
- tests: Fix text output for interface XML 2 XML (Cole Robinson)
- Add ocfs2 to list of fs pool types (Jim Fehlig)
+ Enable udev instead of hal on F12 / RHEL-6 or later (Daniel P. Berrange),
+ python: Actually implement list*Interfaces bindings (Cole Robinson),
+ esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() (Matthias Bolte),
+ Fix check for existance of cgroups at creation (Daniel P. Berrange),
+ Fix virt-aa-helper when host and os.type arch differ (Jamie Strandboge),
+ Add translation of PCI vendor and product IDs (David Allan),
+ Add scsi_target device type (David Allan),
+ Add several fields to node device capabilities (David Allan),
+ Add virConnectGetLibvirtVersion API (Cole Robinson),
+ Implement finer grained migration control for Xen (Maximilian Wilhelm),
+ Support for SATA Disks in virDomainDiskBus (pritesh),
+ LXC implement missing DomainInterfaceStats API (Ryota Ozaki),
+ disable mac_filter config switch by default (Gerhard Stenzel),
+ phyp: Reorder keyboard_interactive label in openSSHSession() (Eduardo Otubo),
+ Implmentation of new APIs to checking state/persistence of objects (Daniel P. Berrange),
+ Allow timeouts waiting for QEMU job lock (Daniel P. Berrange),
+ Release driver and domain lock when running monitor commands (Daniel P. Berrange),
+ Add reference counting on virDomainObjPtr objects (Daniel P. Berrange),
+ Locking of the qemuMonitorPtr object (Daniel P. Berrange),
+ Wrap text mode monitor APIs, pass qemuMonitorPtr directly to APIs (Daniel P. Berrange),
+ Move encryption lookup back into qemu driver file (Daniel P. Berrange),
+ Make use of private data structure for monitor state (Daniel P. Berrange),
+ Add a new timed condition variable wait API (Daniel P. Berrange),
+ Fix errno handling for pthreads wrappers (Daniel P. Berrange),
+ 524280 pass max lease option to dnsmasq (Daniel Veillard),
+ Store the range size when adding a DHCP range (Daniel Veillard),
+ qemu: Allow cpu pinning for all logical CPUs, not just physical (Cole Robinson),
+ qemu: Use same create/define overwrite logic for migration prepare. (Cole Robinson),
+ qemu: Break out function to check if we can create/define/restore (Cole Robinson),
+ Add sentinel attribute for NULL terminated arg lists (Paolo Bonzini),
+ test: Update inactive guest config on shutdown (Cole Robinson),
+ test: Add testDomainShutdownState helper (Cole Robinson),
+ Properly convert port numbers to/from network byte order (Matthew Booth),
+ phyp add create() and destroy() support (Eduardo Otubo),
+ Support for <channel> in domain and QEmu backend (Matthew Booth),
+ Detect availability of QEMU -chardev CLI option (Matthew Booth),
+ Allow character devices to have different target types (Matthew Booth),
+ LXC allow container to have ethN interfaces (Ryota Ozaki),
+ New ebtables module wrapper (Gerhard Stenzel),
+ test: Implement virDomainPinVcpu (Cole Robinson),
+ test: Implement virDomainGetVcpus (Cole Robinson),
+ test: Update vcpu runtime info in SetVcpus (Cole Robinson),
+ test: Use privateData to track running VM vcpu state (Cole Robinson),
+ test: Break out wrapper for setting up started domain state. (Cole Robinson),
+ test: Fixes for SetVcpus (Cole Robinson),
+ Make monitor type (miimon/arpmon) optional in bond xml (Laine Stump),
+ Support reporting live interface IP/netmask (Laine Stump),
+ Make startmode optional in toplevel interface definition (Laine Stump),
+ Move libvirtd event loop into background thread (Daniel P. Berrange),
+ Allow NULL mac address in virGetInterface (Laine Stump),
+ ESX: Don't automatically follow redirects. (Matthias Bolte),
+ ESX: Change disk selection for datastore detection. (Matthias Bolte),
+ ESX: Fallback to the preliminary name if the datastore cannot be found. (Matthias Bolte),
+ Set KMEMSIZE for OpenVZ domains being defined (Yuji NISHIDA),
+ Allow for a driver specific private data blob in virDomainObjPtr (Daniel P. Berrange),
+ More network utility functions (Matthew Booth),
+ Add symbols from new network.h module (Daniel Veillard),
+ Set of new network related utilities (Daniel Veillard),
+ Convert virDomainObjListPtr to use a hash of domain objects (Daniel P. Berrange),
+ qemu: migrate: Don't require manual URI to specify a port (Cole Robinson),
+ test: Support virStorageFindPoolSources (Cole Robinson),
+ storage: Add ParseSourceString function for use with FindPoolSources. (Cole Robinson),
+ Add support for an external TFTP boot server (Paolo Bonzini),
+ test: Support virNodeDeviceCreate and virNodeDeviceDestroy (Cole Robinson),
+ Consolidate virXPathNodeSet() (Daniel Veillard),
+ Support QEMU watchdog device. (Richard Jones),
+ Do not log rotate very small logs (Dan Kenigsberg),
+ LXC implement missing macaddr assignment feature (Ryota Ozaki),
+ tests: Initialize virRandom in for test suite. (Cole Robinson),
+ tests: Add storage volume XML 2 XML tests. (Cole Robinson),
+ tests: Add network XML to XML tests. (Cole Robinson),
+ schema: Update network schema. (Cole Robinson),
+ tests: Add XML 2 XML tests for storage pools. (Cole Robinson),
+ tests: Break out duplicate schema verification functionality. (Cole Robinson),
+ tests: Fix text output for interface XML 2 XML (Cole Robinson),
+ Add ocfs2 to list of fs pool types (Jim Fehlig),
Finer grained migration control (Chris Lalancette)
</li>
<li>Cleanups:
- remove sysfs_path and parent_sysfs_path from XML (Dave Allan)
- Removing devicePath member from dev struct (Dave Allan)
- report OOM in two places in node_device_driver.c (Dave Allan)
- Whitespace cleanup for pre-tags on the website (Matthias Bolte)
- Fix type in configure output summary (Daniel P. Berrange)
- Remove a compilation warning on uninitialized var (Daniel Veillard)
- Change DTD references to use public instead of system identifier (Matthias Bolte)
- Remove obsolete devicekit checks (Daniel P. Berrange)
- Small guestfwd code cleanup (Matthew Booth)
- Small indentation cleanup of domain schema (Matthew Booth)
- AppArmor code cleanups (Jamie Strandboge)
- Fix formatting of XML for an inactive guest (Daniel P. Berrange)
- Remove DevKit node device backend (David Allan)
- Exclude numactl on s390[x] (Daniel P. Berrange)
- Fix error handling in qemuMonitorOpen (Ryota Ozaki)
- Fix warning on make due to missing cast (int) (Ryota Ozaki)
- Various fixes following a code review part 2 (Daniel Veillard)
- Various fixes following a code review (Daniel Veillard)
- Move code for low level QEMU monitor interaction into separate file (Daniel P. Berrange)
- Make pciDeviceList struct opaque (Daniel P. Berrange)
- Add missing OOM error checks, reports and cleanups (Matthias Bolte)
- Removes the ebtablesSaveRules() function (Gerhard Stenzel)
- phyp: Use actual error code instead of 0 (Matthias Bolte)
- phyp: Don't use VIR_ALLOC if a stack variable is good enough (Matthias Bolte)
- phyp: Fix several UUID table related problems (Matthias Bolte)
- phyp: Check for exit_status < 0 before parsing the result (Matthias Bolte)
- phyp: memcpy/memmove/memset can't fail, so don't check for error (Matthias Bolte)
- phyp: Make generic domain listing functions return -1 in case of error (Matthias Bolte)
- Fix configure check for libssh2 (Matthias Bolte)
- Repair getIPv4Addr after the ntohl conversion (Daniel Veillard)
- Cleanup whitespace in docs (Matthew Booth)
- Use virBuffer when building QEMU char dev command line (Matthew Booth)
- Cleanup virBuffer usage in qemdBuildCommandLine (Matthew Booth)
- Fix some cut-and-paste error in migration code (Paolo Bonzini)
- Ensure guestfwd address is IPv4 and various cleanups (Matthew Booth)
- LXC cleanup deep indentation in lxcDomainSetAutostart (Ryota Ozaki)
- LXC messages cleanup and fix lxcError (Ryota Ozaki)
- qemu: Remove compiled out localhost migration support (Cole Robinson)
- Various error reporting fixes (Cole Robinson)
- Improve error reporting for virConnectGetHostname calls (Cole Robinson)
- Fix up NLS warnings. (Chris Lalancette)
- Remove redundant virFileDeletePID() call (Chris Lalancette)
- Fix return value in virStateInitialize impl for LXC (Daniel P. Berrange)
- ESX: Unify naming of VI API utility and convenience functions. (Matthias Bolte)
- Rename internal APis (Daniel P. Berrange)
- Pull signal setup code out into separate method (Daniel P. Berrange)
- Fix duplicating logging of errors in libvirtd (Daniel P. Berrange)
- Fix initialization order bugs (Daniel P. Berrange)
- Misc cleanup to network socket init (Daniel P. Berrange)
- Annotate many methods with ATTRIBUTE_RETURN_CHECK & fix problems (Daniel P. Berrange)
- Don't use private struct member names of in6_addr (Matthias Bolte)
- Fix typo in network.c function comments (Matthew Booth)
- libvirt-devel should only require libvirt-client (Mark McLoughlin)
- qemu: Fix an error message in GetVcpus (Cole Robinson)
- storage: Break out function to add pool source to a SourceList. (Cole Robinson)
- storage: Break out pool source parsing to a separate function. (Cole Robinson)
- Fix some typos in comments (Dan Kenigsberg)
- Fix error message in qemudLoadDriverConfig() (Matthias Bolte)
- Add a new syntax-check rule for gethostname. (Chris Lalancette)
- Various syntax-check fixes. (Chris Lalancette)
- Tighten up nonreentrant syntax-check. (Chris Lalancette)
- Replace a gethostname by virGetHostname in libvirtd.c (Chris Lalancette)
- Replace two strcmp() by STREQ() in qemu_driver.c (Chris Lalancette)
- Replace gethostname by virGetHostname in xend_internal.c (Chris Lalancette)
- Add a default log_level to qemudSetLogging to remove a build warning. (Chris Lalancette)
- Better error message when libvirtd fails to start. (Chris Lalancette)
- Fix potential false-positive OOM error reporting. (Matthias Bolte)
- Fix virsh.c compilation warning (Jim Fehlig)
- Fix a make dist error due to wrong EXTRA_DIST paths (Daniel Veillard)
- node device: Break out get_wwns and get_parent_node helpers (Cole Robinson)
- tests: Centralize VIR_TEST_DEBUG lookup, and document it (Cole Robinson)
- Remove bogus const annotations to hash iterator (Daniel P. Berrange)
- Remove bashisms from schema tests. (Matthias Bolte)
+ remove sysfs_path and parent_sysfs_path from XML (Dave Allan),
+ Removing devicePath member from dev struct (Dave Allan),
+ report OOM in two places in node_device_driver.c (Dave Allan),
+ Whitespace cleanup for pre-tags on the website (Matthias Bolte),
+ Fix type in configure output summary (Daniel P. Berrange),
+ Remove a compilation warning on uninitialized var (Daniel Veillard),
+ Change DTD references to use public instead of system identifier (Matthias Bolte),
+ Remove obsolete devicekit checks (Daniel P. Berrange),
+ Small guestfwd code cleanup (Matthew Booth),
+ Small indentation cleanup of domain schema (Matthew Booth),
+ AppArmor code cleanups (Jamie Strandboge),
+ Fix formatting of XML for an inactive guest (Daniel P. Berrange),
+ Remove DevKit node device backend (David Allan),
+ Exclude numactl on s390[x] (Daniel P. Berrange),
+ Fix error handling in qemuMonitorOpen (Ryota Ozaki),
+ Fix warning on make due to missing cast (int) (Ryota Ozaki),
+ Various fixes following a code review part 2 (Daniel Veillard),
+ Various fixes following a code review (Daniel Veillard),
+ Move code for low level QEMU monitor interaction into separate file (Daniel P. Berrange),
+ Make pciDeviceList struct opaque (Daniel P. Berrange),
+ Add missing OOM error checks, reports and cleanups (Matthias Bolte),
+ Removes the ebtablesSaveRules() function (Gerhard Stenzel),
+ phyp: Use actual error code instead of 0 (Matthias Bolte),
+ phyp: Don't use VIR_ALLOC if a stack variable is good enough (Matthias Bolte),
+ phyp: Fix several UUID table related problems (Matthias Bolte),
+ phyp: Check for exit_status < 0 before parsing the result (Matthias Bolte),
+ phyp: memcpy/memmove/memset can't fail, so don't check for error (Matthias Bolte),
+ phyp: Make generic domain listing functions return -1 in case of error (Matthias Bolte),
+ Fix configure check for libssh2 (Matthias Bolte),
+ Repair getIPv4Addr after the ntohl conversion (Daniel Veillard),
+ Cleanup whitespace in docs (Matthew Booth),
+ Use virBuffer when building QEMU char dev command line (Matthew Booth),
+ Cleanup virBuffer usage in qemdBuildCommandLine (Matthew Booth),
+ Fix some cut-and-paste error in migration code (Paolo Bonzini),
+ Ensure guestfwd address is IPv4 and various cleanups (Matthew Booth),
+ LXC cleanup deep indentation in lxcDomainSetAutostart (Ryota Ozaki),
+ LXC messages cleanup and fix lxcError (Ryota Ozaki),
+ qemu: Remove compiled out localhost migration support (Cole Robinson),
+ Various error reporting fixes (Cole Robinson),
+ Improve error reporting for virConnectGetHostname calls (Cole Robinson),
+ Fix up NLS warnings. (Chris Lalancette),
+ Remove redundant virFileDeletePID() call (Chris Lalancette),
+ Fix return value in virStateInitialize impl for LXC (Daniel P. Berrange),
+ ESX: Unify naming of VI API utility and convenience functions. (Matthias Bolte),
+ Rename internal APis (Daniel P. Berrange),
+ Pull signal setup code out into separate method (Daniel P. Berrange),
+ Fix duplicating logging of errors in libvirtd (Daniel P. Berrange),
+ Fix initialization order bugs (Daniel P. Berrange),
+ Misc cleanup to network socket init (Daniel P. Berrange),
+ Annotate many methods with ATTRIBUTE_RETURN_CHECK & fix problems (Daniel P. Berrange),
+ Don't use private struct member names of in6_addr (Matthias Bolte),
+ Fix typo in network.c function comments (Matthew Booth),
+ libvirt-devel should only require libvirt-client (Mark McLoughlin),
+ qemu: Fix an error message in GetVcpus (Cole Robinson),
+ storage: Break out function to add pool source to a SourceList. (Cole Robinson),
+ storage: Break out pool source parsing to a separate function. (Cole Robinson),
+ Fix some typos in comments (Dan Kenigsberg),
+ Fix error message in qemudLoadDriverConfig() (Matthias Bolte),
+ Add a new syntax-check rule for gethostname. (Chris Lalancette),
+ Various syntax-check fixes. (Chris Lalancette),
+ Tighten up nonreentrant syntax-check. (Chris Lalancette),
+ Replace a gethostname by virGetHostname in libvirtd.c (Chris Lalancette),
+ Replace two strcmp() by STREQ() in qemu_driver.c (Chris Lalancette),
+ Replace gethostname by virGetHostname in xend_internal.c (Chris Lalancette),
+ Add a default log_level to qemudSetLogging to remove a build warning. (Chris Lalancette),
+ Better error message when libvirtd fails to start. (Chris Lalancette),
+ Fix potential false-positive OOM error reporting. (Matthias Bolte),
+ Fix virsh.c compilation warning (Jim Fehlig),
+ Fix a make dist error due to wrong EXTRA_DIST paths (Daniel Veillard),
+ node device: Break out get_wwns and get_parent_node helpers (Cole Robinson),
+ tests: Centralize VIR_TEST_DEBUG lookup, and document it (Cole Robinson),
+ Remove bogus const annotations to hash iterator (Daniel P. Berrange),
+ Remove bashisms from schema tests. (Matthias Bolte),
Don't copy old machines from a domain which has none (Mark McLoughlin)
</li>
</ul>
--
1.6.0.4
15 years, 4 months
[libvirt] [PATCH] Fix potential double free in virDomainObjParseXML()
by Matthias Bolte
---
src/conf/domain_conf.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6a8fd5d..8730f37 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -3493,6 +3493,7 @@ static virDomainObjPtr virDomainObjParseXML(virConnectPtr conn,
error:
VIR_FREE(nodes);
virDomainChrDefFree(obj->monitor_chr);
+ obj->monitor_chr = NULL;
virDomainObjUnref(obj);
return NULL;
}
--
1.6.0.4
15 years, 4 months
[libvirt] C# (Mono) bindings for libvirt - SharpLibVirt
by Jaromír Červenka
Hello,
following the example of email Richard W.M. Jones
(https://www.redhat.com/archives/libvir-list/2008-September/msg00283.html),
I decided to write libvirt interface for Mono. Everything is
implemented in one C# file, including in-line help (see
http://download.cervajz.com/sharplibvirt.png) which is taken from API
documentation. All functions wich are implemented were tested on KVM
hypervisor.
Everything revolves around a few objects. It is possible call libvirt
functions directly thru static class SharpLibVirt.libvirt
(SharpLibVirt. virterror) or use my "helpers objects" -
SharpLibVirt.slvConnection, SharpLibVirt.slvDomain,
SharpLibVirt.slvStoragePool, SharpLibVirt.slvStorageVol, etc...
Current status of binding is:
Version: 0.7.4
virConnect: 95%
virDommain: 95%
virEvent: 0%
virInterface: 0%
virNetwork: 0% (I am currently working on it)
virNodeDevice: 0%
virNode: 98%
virSecret: 0%
virStoragePool: 100%
virStorageVol: 100%
virStream: 0%
Others: 100%
-----
virterror: 100%
In the future I will keep SharpLibVirt up to date by C headers.
Greetings,
Jaromír "Cervajz" Červenka
Official openSUSE community member
Web: http://www.cervajz.com/
Jabber: cervajz(a)cervajz.com
MSN: jara.cervenka(a)seznam.cz
Tel.: +420 607 592 687
Alt. e-mails:
jaromir.cervenka(a)opensuse.org,
jaromir.cervenka(a)speel.cz
15 years, 4 months
[libvirt] [PATCH] Fix virDomainObj ref handling in QEMU driver
by Daniel P. Berrange
Since the monitor I/O is processed out of band from the main
thread(s) invoking monitor commands, the virDomainObj may be
deleted by the I/O thread. The qemuDomainObjBeginJob takes an
extra reference to protect against final deletion, but this
reference is released by the corresponding EndJob call. THus
after the EndJob call it may not be valid to reference the
virDomainObj any more. To allow callers to detect this, the
EndJob call is changed to return the remaining reference count.
* src/conf/domain_conf.c: Make virDomainObjUnref return the
remaining reference count
* src/qemu/qemu_driver.c: Avoid referencing virDomainObjPtr
after qemuDomainObjEndJob if it has been deleted.
---
src/conf/domain_conf.c | 6 +-
src/qemu/qemu_driver.c | 133 +++++++++++++++++++++++++++++-------------------
2 files changed, 84 insertions(+), 55 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 21d509d..dca2e49 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -231,7 +231,7 @@ static void virDomainObjListDeallocator(void *payload, const char *name ATTRIBUT
{
virDomainObjPtr obj = payload;
virDomainObjLock(obj);
- if (!virDomainObjUnref(obj))
+ if (virDomainObjUnref(obj) > 0)
virDomainObjUnlock(obj);
}
@@ -637,9 +637,9 @@ int virDomainObjUnref(virDomainObjPtr dom)
if (dom->refs == 0) {
virDomainObjUnlock(dom);
virDomainObjFree(dom);
- return 1;
+ return 0;
}
- return 0;
+ return dom->refs;
}
static virDomainObjPtr virDomainObjNew(virConnectPtr conn,
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 7dfd1e6..7e60d0e 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -371,15 +371,18 @@ static int qemuDomainObjBeginJobWithDriver(struct qemud_driver *driver,
*
* To be called after completing the work associated with the
* earlier qemuDomainBeginJob() call
+ *
+ * Returns remaining refcount on 'obj', maybe 0 to indicated it
+ * was deleted
*/
-static void qemuDomainObjEndJob(virDomainObjPtr obj)
+static int ATTRIBUTE_RETURN_CHECK qemuDomainObjEndJob(virDomainObjPtr obj)
{
qemuDomainObjPrivatePtr priv = obj->privateData;
priv->jobActive = 0;
virCondSignal(&priv->jobCond);
- virDomainObjUnref(obj);
+ return virDomainObjUnref(obj);
}
@@ -3039,9 +3042,9 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
goto cleanup; /* XXXX free the 'vm' we created ? */
if (qemudStartVMDaemon(conn, driver, vm, NULL, -1) < 0) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains,
- vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains,
+ vm);
vm = NULL;
goto endjob;
}
@@ -3054,8 +3057,9 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
if (dom) dom->id = vm->def->id;
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
virDomainDefFree(def);
@@ -3110,7 +3114,8 @@ static int qemudDomainSuspend(virDomainPtr dom) {
ret = 0;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3169,7 +3174,8 @@ static int qemudDomainResume(virDomainPtr dom) {
ret = 0;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3213,7 +3219,8 @@ static int qemudDomainShutdown(virDomainPtr dom) {
qemuDomainObjExitMonitor(vm);
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3252,16 +3259,17 @@ static int qemudDomainDestroy(virDomainPtr dom) {
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains,
- vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains,
+ vm);
vm = NULL;
}
ret = 0;
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3402,7 +3410,8 @@ static int qemudDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
ret = 0;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3452,7 +3461,8 @@ static int qemudDomainGetInfo(virDomainPtr dom,
err = qemuMonitorGetBalloonInfo(priv->mon, &balloon);
qemuDomainObjExitMonitor(vm);
if (err < 0) {
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
goto cleanup;
}
@@ -3462,7 +3472,10 @@ static int qemudDomainGetInfo(virDomainPtr dom,
else
info->memory = balloon;
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0) {
+ vm = NULL;
+ goto cleanup;
+ }
} else {
info->memory = vm->def->memory;
}
@@ -3671,15 +3684,16 @@ static int qemudDomainSave(virDomainPtr dom,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SAVED);
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains,
- vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains,
+ vm);
vm = NULL;
}
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (fd != -1)
@@ -3766,7 +3780,8 @@ static int qemudDomainCoreDump(virDomainPtr dom,
}
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -3827,7 +3842,8 @@ static int qemudDomainSetVcpus(virDomainPtr dom, unsigned int nvcpus) {
ret = 0;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -4235,9 +4251,9 @@ static int qemudDomainRestore(virConnectPtr conn,
fd = -1;
if (ret < 0) {
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains,
- vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains,
+ vm);
vm = NULL;
}
goto endjob;
@@ -4265,8 +4281,9 @@ static int qemudDomainRestore(virConnectPtr conn,
ret = 0;
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
virDomainDefFree(def);
@@ -4314,7 +4331,10 @@ static char *qemudDomainDumpXML(virDomainPtr dom,
qemuDomainObjEnterMonitor(vm);
err = qemuMonitorGetBalloonInfo(priv->mon, &balloon);
qemuDomainObjExitMonitor(vm);
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0) {
+ vm = NULL;
+ goto cleanup;
+ }
if (err < 0)
goto cleanup;
if (err > 0)
@@ -4547,7 +4567,8 @@ static int qemudDomainStart(virDomainPtr dom) {
VIR_DOMAIN_EVENT_STARTED_BOOTED);
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -5338,7 +5359,8 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
ret = -1;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (cgroup)
@@ -5672,7 +5694,8 @@ static int qemudDomainDetachDevice(virDomainPtr dom,
ret = -1;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
virDomainDeviceDefFree(dev);
@@ -5996,7 +6019,8 @@ qemudDomainBlockStats (virDomainPtr dom,
qemuDomainObjExitMonitor(vm);
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
VIR_FREE(qemu_dev_name);
@@ -6214,7 +6238,8 @@ qemudDomainMemoryPeek (virDomainPtr dom,
ret = 0;
endjob:
- qemuDomainObjEndJob(vm);
+ if (qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
VIR_FREE(tmp);
@@ -6708,8 +6733,8 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
if (qemust == NULL) {
qemudShutdownVMDaemon(NULL, driver, vm);
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains, vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains, vm);
vm = NULL;
}
virReportSystemError(dconn, errno,
@@ -6727,8 +6752,9 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
ret = 0;
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
virDomainDefFree(def);
@@ -6895,8 +6921,8 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
* should have already done that.
*/
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains, vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains, vm);
vm = NULL;
}
goto endjob;
@@ -6908,8 +6934,9 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
ret = 0;
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
virDomainDefFree(def);
@@ -7399,8 +7426,8 @@ qemudDomainMigratePerform (virDomainPtr dom,
VIR_DOMAIN_EVENT_STOPPED_MIGRATED);
if (!vm->persistent || (flags & VIR_MIGRATE_UNDEFINE_SOURCE)) {
virDomainDeleteConfig(dom->conn, driver->configDir, driver->autostartDir, vm);
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains, vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains, vm);
vm = NULL;
}
ret = 0;
@@ -7424,8 +7451,9 @@ endjob:
VIR_DOMAIN_EVENT_RESUMED,
VIR_DOMAIN_EVENT_RESUMED_MIGRATED);
}
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
@@ -7523,15 +7551,16 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_FAILED);
if (!vm->persistent) {
- qemuDomainObjEndJob(vm);
- virDomainRemoveInactive(&driver->domains, vm);
+ if (qemuDomainObjEndJob(vm) > 0)
+ virDomainRemoveInactive(&driver->domains, vm);
vm = NULL;
}
}
endjob:
- if (vm)
- qemuDomainObjEndJob(vm);
+ if (vm &&
+ qemuDomainObjEndJob(vm) == 0)
+ vm = NULL;
cleanup:
if (vm)
--
1.6.5.2
15 years, 4 months
[libvirt] Add vncdisplay to virsh list
by Дмитрий Ильин
I think adding vncdisplay to virsh list output will be very usefull.
For example output could be like this:
Id Name State Display
----------------------------------------------------
1 test1 running :2
2 test2 running :5
3 test3 running :13
4 server1 running n/g
5 sdltest running sdl
- test4 shut off off
- test5 shut off off
:n - vnc display number
n/g - no graphics
sdl - sdl output
You can use "--display" to enable it
command:
virsh list --all --display
Also I would like to see "--pretend" option in virt-install.
Just generate xml and dump it to stdout without doing anything else.
15 years, 4 months