]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/log
people/liuw/libxenctrl-split/libvirt.git
10 years agoqemu: ensure sane umask for qemu process
Chunyan Liu [Wed, 3 Sep 2014 06:18:07 +0000 (14:18 +0800)]
qemu: ensure sane umask for qemu process

Add umask to _virCommand, allow user to set umask to command.
Set umask(002) to qemu process to overwrite the default umask
of 022 set by many distros, so that unix sockets created for
virtio-serial has expected permissions.

Fix problem reported here:
https://sourceware.org/bugzilla/show_bug.cgi?id=13078#c11
https://bugzilla.novell.com/show_bug.cgi?id=888166

To use virtio-serial device, unix socket created for chardev with
default umask(022) has insufficient permissions.
e.g.:
-device virtio-serial \
-chardev socket,path=/tmp/foo,server,nowait,id=foo \
-device virtserialport,chardev=foo,name=org.fedoraproject.port.0

srwxr-xr-x 1 qemu qemu 0 21. Jul 14:19 /tmp/somefile.sock

Other users in the same group (like real user, test engines, etc)
cannot write to this socket.

Signed-off-by: Chunyan Liu <cyliu@suse.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agospec: Fix preun script for daemon
Jiri Denemark [Wed, 3 Sep 2014 08:51:14 +0000 (10:51 +0200)]
spec: Fix preun script for daemon

%systemd_preun macro cannot be split into several lines.

https://bugzilla.redhat.com/show_bug.cgi?id=1136736

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
10 years agoremote: Fix memory leak on error path when deserializing bulk stats
Peter Krempa [Tue, 2 Sep 2014 13:16:47 +0000 (15:16 +0200)]
remote: Fix memory leak on error path when deserializing bulk stats

The 'elem' variable along with the domain object would be leaked when
taking the error path.

Found by coverity.

10 years agoutil: Introduce flags field for macvtap creation
Matthew Rosato [Wed, 27 Aug 2014 14:34:13 +0000 (10:34 -0400)]
util: Introduce flags field for macvtap creation

Currently, there is one flag passed in during macvtap creation
(withTap) -- Let's convert this field to an unsigned int flag
field for future expansion.

Signed-off-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com>
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agoFree ifname in testDomainGenerateIfnames
Ján Tomko [Tue, 2 Sep 2014 09:54:05 +0000 (11:54 +0200)]
Free ifname in testDomainGenerateIfnames

https://bugzilla.redhat.com/show_bug.cgi?id=1135388

10 years agoPost-release version bump for new dev cycle
Michal Privoznik [Tue, 2 Sep 2014 08:07:15 +0000 (10:07 +0200)]
Post-release version bump for new dev cycle

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
10 years agoRelease of libvirt-1.2.8
Daniel Veillard [Tue, 2 Sep 2014 07:41:09 +0000 (09:41 +0200)]
Release of libvirt-1.2.8

* docs/news.html.in libvirt.spec.in: update for release
* po/*.po*: new localizations and regenerate pos

10 years agoblockcopy: allow larger buf-size
Eric Blake [Sun, 31 Aug 2014 04:02:19 +0000 (22:02 -0600)]
blockcopy: allow larger buf-size

While qemu definitely caps granularity to 64 MiB, it places no
limits on buf-size.  On a machine beefy enough for lots of
memory, a buf-size larger than 2 GiB is feasible, so we should
pass a 64-bit parameter.

* include/libvirt/libvirt.h.in (VIR_DOMAIN_BLOCK_COPY_BUF_SIZE):
Allow 64 bits.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
10 years agoselinux: properly label tap FDs with imagelabel
Martin Kletzander [Mon, 1 Sep 2014 13:27:00 +0000 (15:27 +0200)]
selinux: properly label tap FDs with imagelabel

The cleanup in commit cf976d9d used secdef->label to label the tap
FDs, but that is not possible since it's process-only label (svirt_t)
and not a object label (e.g. svirt_image_t).  Starting a domain failed
with EPERM, but simply using secdef->imagelabel instead of
secdef->label fixes it.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agoFix connection to already running session libvirtd
Christophe Fergeau [Thu, 28 Aug 2014 21:33:24 +0000 (23:33 +0200)]
Fix connection to already running session libvirtd

Since 1b807f92, connecting with virsh to an already running session
libvirtd fails with:
$ virsh list --all
error: failed to connect to the hypervisor
error: no valid connection
error: Failed to connect socket to
'/run/user/1000/libvirt/libvirt-sock': Transport endpoint is already
connected

This is caused by a logic error in virNetSocketNewConnectUnix: even if
the connection to the daemon socket succeeded, we still try to spawn the
daemon and then connect to it.
This commit changes the logic to not try to spawn libvirtd if we
successfully connected to its socket.

Most of this commit is whitespace changes, use of -w is recommended to
look at it.

10 years agostorage: zfs: fix double listing of new volumes
Roman Bogorodskiy [Wed, 27 Aug 2014 08:53:07 +0000 (12:53 +0400)]
storage: zfs: fix double listing of new volumes

Currently, after calling commands to create a new volumes,
virStorageBackendZFSCreateVol calls virStorageBackendZFSFindVols that
calls virStorageBackendZFSParseVol.

virStorageBackendZFSParseVol checks if a volume already exists by
trying to get it using virStorageVolDefFindByName.

For a just created volume it returns NULL, so volume is reported as
new and appended to pool->volumes. This causes a volume to be listed
twice as storageVolCreateXML appends this new volume to the list as
well.

Fix that by passing a new volume definition to
virStorageBackendZFSParseVol so it could determine if it needs to add
this volume to the list.

10 years agoqemu_driver: Resolve Coverity FORWARD_NULL
John Ferlan [Thu, 28 Aug 2014 16:49:30 +0000 (12:49 -0400)]
qemu_driver: Resolve Coverity FORWARD_NULL

In qemuDomainSnapshotCreateDiskActive() if we jumped to cleanup from a
failed actions = virJSONValueNewArray(), then 'cfg' would be NULL.

So just return -1, which in turn removes the need for cleanup:

10 years agovirnetserverservice: Resolve Coverity ARRAY_VS_SINGLETON
John Ferlan [Thu, 28 Aug 2014 13:03:47 +0000 (09:03 -0400)]
virnetserverservice: Resolve Coverity ARRAY_VS_SINGLETON

Coverity complained about the following:

(3) Event ptr_arith:
   Performing pointer arithmetic on "cur_fd" in expression "cur_fd++".
130             return virNetServerServiceNewFD(*cur_fd++,

The complaint is that pointer arithmetic taking place instead of the
expected auto increment of the variable...  Adding some well placed
parentheses ensures our order of operation.

10 years agoqemu: Allow use of iothreads for disk definitions
John Ferlan [Mon, 25 Aug 2014 19:59:32 +0000 (15:59 -0400)]
qemu: Allow use of iothreads for disk definitions

For virtio-blk-pci disks with the disk iothread attribute that are
running the correct emulator, add the "iothread=iothread#" to the
-device command line in order to enable iothreads for the disk as
long as the command is available, the disk iothread value provided is
valid, and is supported for the disk device being added

10 years agodomain_conf: Add support for iothreads in disk definition
John Ferlan [Mon, 25 Aug 2014 12:43:17 +0000 (08:43 -0400)]
domain_conf: Add support for iothreads in disk definition

Add a new disk "driver" attribute "iothread" to be parsed as the thread
number for the disk to use. In order to more easily facilitate the usage
and configuration of the iothread, a "zero" for the attribute indicates
iothreads are not supported for the device and a positive value indicates
the specific thread to try and use.

10 years agoqemu: Add support for iothreads
John Ferlan [Fri, 22 Aug 2014 22:15:30 +0000 (18:15 -0400)]
qemu: Add support for iothreads

Add a new capability to ensure the iothreads feature exists for the qemu
emulator being run - requires the "query-iothreads" QMP command. Using the
domain XML add correspoding command argument in order to generate the
threads. The iothreads will use a name space "iothread#" where, the
future patch to add support for using an iothread to a disk definition to
merely define which of the available threads to use.

Add tests to ensure the xml/argv processing is correct.  Note that no
change was made to qemuargv2xmltest.c as processing the -object element
would require knowing more than just iothreads.

10 years agodomain_conf: Introduce iothreads XML
John Ferlan [Fri, 22 Aug 2014 14:15:51 +0000 (10:15 -0400)]
domain_conf: Introduce iothreads XML

Introduce XML to allowing adding iothreads to the domain. These can be
used by virtio-blk-pci devices in order to assign a specific thread to
handle the workload for the device.  The iothreads are the official
implementation of the virtio-blk Data Plane that's been in tech preview
for QEMU.

10 years agolibxl_migration: Resolve Coverity NULL_RETURNS
John Ferlan [Thu, 28 Aug 2014 18:56:33 +0000 (14:56 -0400)]
libxl_migration: Resolve Coverity NULL_RETURNS

Coverity noted that all callers to libxlDomainEventQueue() could ensure
the second parameter (event) was true before calling except this case.
As I look at the code and how events are used - it seems that prior to
generating an event for the dom == NULL condition, the resume/suspend
event should be queue'd after the virDomainSaveStatus() call which will
goto cleanup and queue the saved event anyway.

Signed-off-by: John Ferlan <jferlan@redhat.com>
10 years agoqemu: Implement bulk stats API and one of the stats groups to return
Peter Krempa [Mon, 25 Aug 2014 16:54:49 +0000 (18:54 +0200)]
qemu: Implement bulk stats API and one of the stats groups to return

Implement the API function for virDomainListGetStats and
virConnectGetAllDomainStats in a modular way and implement the
VIR_DOMAIN_STATS_STATE group of statistics.

Although it may look like the function looks universal I'd rather not
expose it to other drivers as the coming stats groups are likely to do
qemu specific stuff to obtain the stats.

10 years agoqemu_command: Resolve Coverity DEADCODE
John Ferlan [Wed, 27 Aug 2014 20:33:12 +0000 (16:33 -0400)]
qemu_command: Resolve Coverity DEADCODE

One useless warning, but the other one rather pertinent. On entry
the 'trans' variable is initialized to VIR_DOMAIN_DISK_TRANS_DEFAULT.
When the "trans" was found in the parsing loop it def->geometry.trans
was assigned to the return from virDomainDiskGeometryTransTypeFromString
and then 'trans' was used to do the comparison to see if it was valid.

So remove 'trans' and use def->geometry.trans properly

10 years agoqemu_driver: Resolve Coverity DEADCODE
John Ferlan [Wed, 27 Aug 2014 20:24:34 +0000 (16:24 -0400)]
qemu_driver: Resolve Coverity DEADCODE

A bunch of false positives brought on by our own doings

10 years agodomain_conf: Resolve Coverity DEADCODE
John Ferlan [Wed, 27 Aug 2014 20:15:06 +0000 (16:15 -0400)]
domain_conf: Resolve Coverity DEADCODE

A bunch of a useless warnings brought on by our own doing.

10 years agoqemu_monitor: Resolve Coverity NESTING_INDENT_MISMATCH
John Ferlan [Wed, 27 Aug 2014 19:59:08 +0000 (15:59 -0400)]
qemu_monitor: Resolve Coverity NESTING_INDENT_MISMATCH

The PROBE macro can expand to more than one line/statement - put curly
braces around the if statement to be safe

10 years agostorage_conf: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:40:57 +0000 (15:40 -0400)]
storage_conf: Resolve Coverity RESOURCE_LEAK

If there was a failure processing 'authdef' and the code went to cleanup
before the setting to source->auth, then it'd be leaked.

10 years agoqemu_driver: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:37:13 +0000 (15:37 -0400)]
qemu_driver: Resolve Coverity RESOURCE_LEAK

Coverity found that the 'buf' wasn't VIR_FREE'd at exit.

10 years agophyp_driver: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:31:38 +0000 (15:31 -0400)]
phyp_driver: Resolve Coverity RESOURCE_LEAK

Coverity determines that when jumping to the connected: label, the
addressinfo (ai) is not free'd.

10 years agolibxl_migration: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:22:33 +0000 (15:22 -0400)]
libxl_migration: Resolve Coverity RESOURCE_LEAK

In libxlDomainMigrationPrepare() if the uri_in is false, then
'hostname' is allocated and used "generically" in the routine,
but not freed.  Conversely, if uri_in is true, then a uri is
allocated and hostname is set to the uri->hostname value and
likewise generically used.

At function exit, hostname wasn't free'd in the !uri_in path,
so that was added.  To just make it clearer on usage the else
path became the call to virURIFree() although I suppose technically
it didn't have to since it would be a call using (NULL)

10 years agobridge_driver: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:15:05 +0000 (15:15 -0400)]
bridge_driver: Resolve Coverity RESOURCE_LEAK

In the error path the 'ipaddr' wasn't VIR_FREE'd before jumping to cleanup

10 years agovirsh-network: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 19:06:56 +0000 (15:06 -0400)]
virsh-network: Resolve Coverity RESOURCE_LEAK

Need to free 'xmlFromFile' on/for the error path when current was
returning false only

10 years agonetwork_conf: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:57:53 +0000 (14:57 -0400)]
network_conf: Resolve Coverity RESOURCE_LEAK

Need to VIR_FREE the startip/endip we allocated for the error message

10 years agoqemu_capabilities: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:57:08 +0000 (14:57 -0400)]
qemu_capabilities: Resolve Coverity RESOURCE_LEAK

Coverity determined that on error path that 'mach' wouldn't be free'd
Since virCapabilitiesFreeGuestMachine() isn't globally available, we'll
insert first and then if the VIR_STRDUP's fail they it will eventually
cause the 'mach' to be freed in the error path

10 years agolibxl_domain: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:47:43 +0000 (14:47 -0400)]
libxl_domain: Resolve Coverity RESOURCE_LEAK

On the error path need to free the chrdef

10 years agoqemu_agent: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:42:41 +0000 (14:42 -0400)]
qemu_agent: Resolve Coverity RESOURCE_LEAK

Coverity found that on error paths, the 'arg' value wasn't be cleaned
up. Followed the example in qemuAgentSetVCPUs() where upon successful call
to qemuAgentCommand() the 'cpus' is set to NULL; otherwise, when cleanup
occurs the free the memory for 'arg'

10 years agoqemu_command: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:32:27 +0000 (14:32 -0400)]
qemu_command: Resolve Coverity RESOURCE_LEAK

In qemuParseISCSIString() if an error was returned, then the call
to qemuParseDriveURIString() where the uri is free'd wouldn't be run

10 years agocpu_x86: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:27:07 +0000 (14:27 -0400)]
cpu_x86: Resolve Coverity RESOURCE_LEAK

Coverity determined that the copied 'oldguest' would be leaked for
both error and success paths.

10 years agodomain_conf: Resolve Coverity RESOURCE_LEAK
John Ferlan [Wed, 27 Aug 2014 18:14:56 +0000 (14:14 -0400)]
domain_conf: Resolve Coverity RESOURCE_LEAK

Resolve a few RESOURCE_LEAK's identified by Coverity

10 years agodaemon: Resolve Coverity NEGATIVE_RETURNS
John Ferlan [Wed, 27 Aug 2014 17:38:29 +0000 (13:38 -0400)]
daemon: Resolve Coverity NEGATIVE_RETURNS

In each of these cases, Coverity complains that the result count returned
on error paths would be -1 disregarding that the count and the corresponding
are "linked" together (it doesn't know that).  Simple enough to check and
remove the warning

10 years agovirsh: Implement command to excercise the bulk stats APIs
Peter Krempa [Tue, 26 Aug 2014 13:55:14 +0000 (15:55 +0200)]
virsh: Implement command to excercise the bulk stats APIs

Add "domstats" command that excercises both of the new APIs depending if
you specify a domain list or not. The output is printed as a key=value
list of the returned parameters.

10 years agoqemu_capabilities: Resolve Coverity RESOURCE_LEAK
Wang Rui [Thu, 28 Aug 2014 10:20:58 +0000 (18:20 +0800)]
qemu_capabilities: Resolve Coverity RESOURCE_LEAK

In function virQEMUCapsParseMachineTypesStr, VIR_STRNDUP allocates
memory for 'name' in {do,while} loop. If 'name' isn't freed before
'continue', its memory will be allocated again in the next loop.
In this case the memory allocated for 'name' in privious loop is
useless and not freed. Free it before continue this loop to fix that.

Signed-off-by: Wang Rui <moon.wangrui@huawei.com>
10 years agotests: Resolve Coverity RESOURCE_LEAK
Wang Rui [Thu, 28 Aug 2014 10:20:57 +0000 (18:20 +0800)]
tests: Resolve Coverity RESOURCE_LEAK

The 'lib' handle will be leaked if 'dlsym' condition fails.
So close the handle before return.

Signed-off-by: Wang Rui <moon.wangrui@huawei.com>
10 years agoutil: Resolve Coverity RESOURCE_LEAK
Wang Rui [Thu, 28 Aug 2014 10:20:56 +0000 (18:20 +0800)]
util: Resolve Coverity RESOURCE_LEAK

Coverity determined that 'conflict' would be leaked.

Signed-off-by: Wang Rui <moon.wangrui@huawei.com>
10 years agoremote: Implement bulk domain stats APIs in the remote driver
Peter Krempa [Mon, 25 Aug 2014 11:22:13 +0000 (13:22 +0200)]
remote: Implement bulk domain stats APIs in the remote driver

Implement the remote driver support for shuffling the domain stats
around.

10 years agolib: Add few flags for the bulk stats APIs
Peter Krempa [Wed, 27 Aug 2014 15:02:50 +0000 (17:02 +0200)]
lib: Add few flags for the bulk stats APIs

Add domain list filtering functions and a flag to enforce checking
whether the remote daemon supports the requested stats groups.

10 years agoconf: Add helper to free domain list
Peter Krempa [Wed, 27 Aug 2014 12:56:45 +0000 (14:56 +0200)]
conf: Add helper to free domain list

Add helper to free a list of virDomainPtrs without raising or clearing
errors. Use it in one place and prepare it for reuse.

10 years agovirsh: fix keepalive error msg
Erik Skultety [Wed, 27 Aug 2014 14:20:29 +0000 (16:20 +0200)]
virsh: fix keepalive error msg

resolves https://bugzilla.redhat.com/show_bug.cgi?id=1132305:

The error message for an out-of-range argument was confusing:

virsh -k 9999999999
error: option --k requires a positive numeric argument

After this patch, it is:

error: Invalid value for option -k

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoqemu_capabilities: Resolve Coverity NULL_RETURNS
John Ferlan [Wed, 27 Aug 2014 13:43:52 +0000 (09:43 -0400)]
qemu_capabilities: Resolve Coverity NULL_RETURNS

Adjust the initialization of qemuCaps() to check for a NULL before
attempting to dereference like other callers/users do.

10 years agoqemu_driver: Resolve Coverity CONSTANT_EXPRESSION_RESULT
John Ferlan [Wed, 27 Aug 2014 13:14:16 +0000 (09:14 -0400)]
qemu_driver: Resolve Coverity CONSTANT_EXPRESSION_RESULT

The call to virDomainSnapshotRedefinePrep() had a spurrious ! in front of
it which caused Coverity to complan that the expression is always false.

10 years agodomain_conf: Resolve Coverity REVERSE_INULL
John Ferlan [Wed, 27 Aug 2014 12:51:15 +0000 (08:51 -0400)]
domain_conf: Resolve Coverity REVERSE_INULL

Coverity complains that checking for domain->def being non NULL in the
if (live) path of virDomainObjAssignDef() would be unnecessary or a
NULL deref since the call to virDomainObjIsActive() would already
dereference domain->def when checking if the def->id field was != -1.

Checked all callers to virDomainObjAssignDef() and each at some point
dereferences (vm)->def->{field} prior to calling when live is true.

10 years agoqemu_command: Resolve Coverity REVERSE_INULL
John Ferlan [Wed, 27 Aug 2014 12:35:08 +0000 (08:35 -0400)]
qemu_command: Resolve Coverity REVERSE_INULL

In qemuNetworkIfaceConnect() a call to virNetDevBandwidthSet() is
made where the function prototype requires the first parameter
(net->ifname) to be non NULL.  Coverity complains that the subsequent
non NULL check for net->ifname prior to the next call gets flagged as
an unnecessary check.  Resolve by removing the extra check

10 years agodomain_conf: Resolve Coverity REVERSE_INULL
John Ferlan [Wed, 27 Aug 2014 12:01:44 +0000 (08:01 -0400)]
domain_conf: Resolve Coverity REVERSE_INULL

In virDomainActualNetDefFormat() a call to virDomainNetGetActualType(def)
was made before a check for (!def) a few lines later. This triggered
Coverity to note the possible NULL deref.  Just moving the initialization
to after the !def checks resolves the issue

10 years agostorage_driver: Resolve Coverity REVERSE_INULL
John Ferlan [Wed, 27 Aug 2014 11:56:00 +0000 (07:56 -0400)]
storage_driver: Resolve Coverity REVERSE_INULL

There were two occurrances of attempting to initialize actualType by
calling virStorageSourceGetActualType(src) prior to a check if (!src)
resulting in Coverity complaining about the possible NULL dereference
in virStorageSourceGetActualType() of src.

Resolve by moving the actualType setting until after checking !src

10 years agoxen_xm: Resolve Coverity USE_AFTER_FREE
John Ferlan [Wed, 27 Aug 2014 11:48:37 +0000 (07:48 -0400)]
xen_xm: Resolve Coverity USE_AFTER_FREE

If virDomainDiskDefFree(disk) is called in 'skipdisk:', then it's possible
to either return to skipdisk without reallocating a new disk (via the if
condition just prior) or to end the loop having deleted the disk. Since
virDomainDiskDefFree() does not pass by reference, disk isn't changed in
this context, thus the possible issue.

10 years agoxen_common: Resolve Coverity USE_AFTER_FREE
John Ferlan [Wed, 27 Aug 2014 11:40:02 +0000 (07:40 -0400)]
xen_common: Resolve Coverity USE_AFTER_FREE

There were two warnings in this module

  If the VIR_ALLOC_N(def->serials, 1) fails, then a virDomainChrDefFree(chr)
  is called and we jump to cleanup which makes the same call. Just remove
  the one after VIR_ALLOC_N()

  In the label "skipnic:" a virDomainNetDefFree(net) is made; however, if
  in going back to the top of the loop we jump back down to skipnic for any
  reason, the call will attempt to free an already freed structure since
  "net" was not passed by reference to virDomainNetDefFree().  Just set
  net = NULL in skipnic: to resolve the issue.

10 years agoparallels: Resolve Coverity USE_AFTER_FREE
John Ferlan [Wed, 27 Aug 2014 11:32:11 +0000 (07:32 -0400)]
parallels: Resolve Coverity USE_AFTER_FREE

Coverity complains that calling virNetworkDefFree(def), then jumping
to the cleanup: label which calls virNetworkDefFree(def) could result
in a double_free.  Just remove the call from the if statement.

10 years agoconf: fix leak with def->mem.hugepages
Martin Kletzander [Wed, 27 Aug 2014 13:16:03 +0000 (15:16 +0200)]
conf: fix leak with def->mem.hugepages

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agovbox: Register per partes
Michal Privoznik [Fri, 22 Aug 2014 09:37:52 +0000 (11:37 +0200)]
vbox: Register per partes

Since times when vbox moved to the daemon (due to some licensing
issue) the subdrivers that vbox implements were registered, but not
opened since our generic subdrivers took priority. I've tried to fix
this in 65b7d553f39ff9 but it was not correct. Apparently moving
vbox driver registration upfront changes the default connection URI
which makes some users sad. So, this commit breaks vbox into pieces
and register vbox's network and storage drivers first, and vbox driver
then at the end. This way, the vbox driver is registered in the order
it always was, but its subdrivers are registered prior the generic
ones.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agovirDriverLoadModule: Honor libvirt func name tranlsation
Michal Privoznik [Fri, 22 Aug 2014 09:37:51 +0000 (11:37 +0200)]
virDriverLoadModule: Honor libvirt func name tranlsation

There's this unwritten rule in libvirt that vir_function is translated
into virFunction when needed (e.g. in remote protocol definition,
python, ...). Up till now we ignored such translation in driver module
loading and did fine. Well, we didn't have any module with an
underscore in its name. But this will change in next commit. The
problem is, once an a module is dlopen()-ed, we derive register
function name from its name. So instead of "driver_subdriverRegister"
do some magic to turn that into "driverSubdriverRegister".

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
10 years agovirdrivermoduletest: Test all the modules
Michal Privoznik [Fri, 22 Aug 2014 09:37:50 +0000 (11:37 +0200)]
virdrivermoduletest: Test all the modules

Even though we kept adding new and new modules (e.g. vbox or bhyve)
the test wasn't updated. Do that now. Moreover, while it's not
crucial, it's nice to reorder test cases to match the order in which
the daemon loads the modules.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
10 years agodomain_conf: fix internal flag verification
Eric Blake [Mon, 25 Aug 2014 18:58:49 +0000 (12:58 -0600)]
domain_conf: fix internal flag verification

While working on virDomainBlockCopy, I noticed we had a verify()
concerning internal XML flags that was incomplete after several
recent flag additions; move that up higher in the code to make it
harder to forget to modify on the next flag addition.  Adjust
some formatting while at it.

* src/conf/domain_conf.c (verify): Move closer to internal flag
definitions.  Cover missing flags ALLOW_ROM and ALLOW_BOOT.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agovirsh: drop unused variable
Eric Blake [Wed, 27 Aug 2014 04:17:07 +0000 (22:17 -0600)]
virsh: drop unused variable

While prepping for virDomainBlockJob patches, I found some dead code.

* tools/virsh-domain.c (blockJobImpl): Kill unused 'name'.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoqemu: call endjob in RevertToSnapshot
Jincheng Miao [Wed, 27 Aug 2014 02:10:33 +0000 (10:10 +0800)]
qemu: call endjob in RevertToSnapshot

In qemuDomainRevertToSnapshot(), it will check snap->def->state.
But when the state is PMSUSPENDED/NOSTATE/BLOCKED, it forgets to
call qemuDomainObjEndJob.

https://bugzilla.redhat.com/show_bug.cgi?id=1134154
Bug introduced in commit 1e833899.

Signed-off-by: Jincheng Miao <jmiao@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoAPI: Tweak virDomainOpenGraphics to return fd directly
Eric Blake [Tue, 26 Aug 2014 22:04:37 +0000 (16:04 -0600)]
API: Tweak virDomainOpenGraphics to return fd directly

Let's fix this before we bake in a painful API.  Since we know
that we have exactly one non-negative fd on success, we might
as well return the fd directly instead of forcing the user to
pass in a pointer.  Furthermore, I found some memory and fd
leaks while reviewing the code - the idea is that on success,
libvirtd will have handed two fds in two different directions:
one to qemu, and one to the RPC client.

* include/libvirt/libvirt.h.in (virDomainOpenGraphicsFD): Drop
unneeded parameter.
* src/driver.h (virDrvDomainOpenGraphicsFD): Likewise.
* src/libvirt.c (virDomainOpenGraphicsFD): Adjust interface to
return fd directly.
* daemon/remote.c (remoteDispatchDomainOpenGraphicsFd): Adjust
semantics.
* src/qemu/qemu_driver.c (qemuDomainOpenGraphicsFD): Likewise,
and plug fd leak.
* src/remote/remote_driver.c (remoteDomainOpenGraphicsFD):
Likewise, and plug memory and fd leak.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoblockcopy: virDomainBlockCopy with XML destination, typed params
Eric Blake [Tue, 26 Aug 2014 21:16:48 +0000 (15:16 -0600)]
blockcopy: virDomainBlockCopy with XML destination, typed params

This commit (finally) adds the virDomainBlockCopy API, with the
intent that it will provide more power to the existing 'virsh
blockcopy' command.

'virsh blockcopy' was first added in Apr 2012 (v0.9.12), which
corresponds to the upstream qemu 1.2 timeframe.  It was done as
a hack on top of the existing virDomainBlockRebase() API call,
for two reasons: 1) it was targetting a feature that landed first
in downstream RHEL qemu, but had not stabilized in upstream qemu
at the time (and indeed, 'drive-mirror' only landed upstream in
qemu 1.3 with slight differences to the first RHEL attempt,
and later gained further parameters like granularity and buf-size
that are also worth exposing), and 2) extending an existing API
allowed it to be backported without worrying about bumping .so
versions.  A virDomainBlockCopy() API was proposed at that time
[1], but we decided not to accept it into libvirt until after
upstream qemu stabilized, and it ended up getting scrapped.
Whether or not RHEL should have attempted adding a new feature
without getting it upstream first is a debate that can be held
another day; but enough time has now elapsed that we are ready to
do the interface cleanly.

[1] https://www.redhat.com/archives/libvir-list/2012-April/msg00768.html

Delaying the creation of a clean API until now has also had a
benefit: we've only recently learned of a few shortcomings in the
original design: 1) it is unable to target a network destination
(such as a gluster volume) because it hard-coded the assumption
that the destination is a local file name.  Because of all the
refactoring we've done to add virStorageSourcePtr, we are in a
better position to declare an API that parses XML describing a
host storage source as the copy destination, which was not
possible had we implemented virDomainBlockCopy as it had been
originally envisioned (although a network target will have to wait
until a later libvirt release compared to the API addition to
actually be implemented).  2) the design of using MiB/sec as the
bandwidth throttle is rather coarse; qemu is actually tuned to
bytes/second, and libvirt is preventing access to that level of
detail.  A later patch will add flags to existing block job API
that can request bytes/second instead of back-compat MiB/s, but as
this is a new API, we can get it right to begin with.

At least I had the foresight to create 'virsh blockcopy' as a
separate command at the UI level (commit 1f06c00) rather than
leaking the underlying API overload of virDomainBlockRebase onto
shell users.

A further note on the bandwidth option: virTypedParameters
intentionally lacks unsigned long (since variable-width
interaction between mixed 32- vs. 64-bit client/server setups is
nasty), but we have to deal with the fact that we are interacting
with existing older code that mistakenly chose unsigned long
bandwidth at a point before we decided to prohibit it in all new
API.  The typed parameter is therefore unsigned long long, but
the implementation (in a later patch) will have to do overflow
detection on 32-bit platforms, as well as capping the value to
match the LLONG_MAX>>20 cap of the existing MiB/s interfaces.

* include/libvirt/libvirt.h.in (virDomainBlockCopy): New API.
(virDomainBlockJobType, virConnectDomainEventBlockJobStatus):
Update related documentation.
* src/libvirt.c (virDomainBlockCopy): Implement it.
* src/libvirt_public.syms (LIBVIRT_1.2.8): Export it.
* src/driver.h (_virDriver): New driver callback.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agovirsh: domain: Split out code to lookup domain from string
Peter Krempa [Tue, 26 Aug 2014 12:16:01 +0000 (14:16 +0200)]
virsh: domain: Split out code to lookup domain from string

Split out guts of the function to reuse it to get domain objects from
string.

10 years agolib: Introduce API for retrieving bulk domain stats
Peter Krempa [Tue, 26 Aug 2014 19:11:42 +0000 (21:11 +0200)]
lib: Introduce API for retrieving bulk domain stats

The motivation for this API is that management layers that use libvirt
usually poll for statistics using various split up APIs we currently
provide. To get all the necessary stuff, the app needs to issue a lot of
calls and aggregate the results.

The APIs I'm introducing here:
1) Returns data in a format that we can expand in the future and is
(pseudo) hierarchical. The data is returned as typed parameters where
the fields are constructed as dot-separated strings containing names and
other stuff in a list of typed params.

2) Stats for multiple (all) domains can be queried at once and are
returned in one call. This will decrease the overhead necessary to issue
multiple calls per domain multiplied by the count of domains.

3) Selectable (bit mask) fields in the returned format. This will allow
to retrieve only specific stats according to the app's need.

The stats groups will be enabled using a bit field @stats passed as the
function argument. A few sample stats groups that this API will support:

VIR_DOMAIN_STATS_STATE
VIR_DOMAIN_STATS_CPU
VIR_DOMAIN_STATS_BLOCK
VIR_DOMAIN_STATS_INTERFACE

(Note that this is only an example, the initial implementation supports
 only VIR_DOMAIN_STATS_STATE while others will be added later.)

the returned typed params will use the following scheme

state.state = VIR_DOMAIN_RUNNING
state.reason = VIR_DOMAIN_RUNNING_BOOTED (the actual values according to
                                          the enum)
cpu.count = 8
cpu.0.state = running
cpu.0.time = 1234

10 years agoWire up virDomainOpenGraphicsFD in QEMU driver
Ján Tomko [Mon, 25 Aug 2014 15:32:12 +0000 (17:32 +0200)]
Wire up virDomainOpenGraphicsFD in QEMU driver

Should fix https://bugzilla.redhat.com/show_bug.cgi?id=999926

10 years agoAdd RPC implementation for virDomainOpenGraphicsFd
Ján Tomko [Mon, 25 Aug 2014 16:55:20 +0000 (18:55 +0200)]
Add RPC implementation for virDomainOpenGraphicsFd

10 years agoIntroduce virDomainOpenGraphicsFD API
Ján Tomko [Mon, 25 Aug 2014 15:28:14 +0000 (17:28 +0200)]
Introduce virDomainOpenGraphicsFD API

Define the public API implementation and declare internal
driver prototype.

10 years agoblkdeviotune: check for overflow when parsing XML
Erik Skultety [Tue, 26 Aug 2014 11:29:10 +0000 (13:29 +0200)]
blkdeviotune: check for overflow when parsing XML

According to docs/schemas/domaincommon.rng and _virDomainBlockIoTuneInfo
all the iotune values are interpreted as unsigned long long, however
according to qemu_monitor_json.c, qemu silently truncates numbers
larger than LLONG_MAX. There's really not much of a usage for such
large numbers anyway yet. This patch provides the same overflow
check during a domain start as it does during setting
a blkdeviotune element in qemu_driver.c and thus reports an error when
a larger number than LLONG_MAX is detected.

https://bugzilla.redhat.com/show_bug.cgi?id=1131876

10 years agovirsh: Initialize vshData in cmdMigrate
Ján Tomko [Tue, 26 Aug 2014 11:18:43 +0000 (13:18 +0200)]
virsh: Initialize vshData in cmdMigrate

If the virConnect did not succeeed, we called
virConnectClose on uninitialized data.

Introduced by commit 7eabd55.

10 years agostorage: remove unused 'canonPath' in virStorageFileGetMetadata
Chen Fan [Tue, 26 Aug 2014 06:11:16 +0000 (14:11 +0800)]
storage: remove unused 'canonPath' in virStorageFileGetMetadata

Introduced by commit 395171f.

Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
10 years agoAdd new 'kvm' domain feature and ability to hide KVM signature
Alex Williamson [Thu, 21 Aug 2014 17:04:45 +0000 (11:04 -0600)]
Add new 'kvm' domain feature and ability to hide KVM signature

QEMU 2.1 added support for the kvm=off option to the -cpu command,
allowing the KVM hypervisor signature to be hidden from the guest.
This enables disabling of some paravirualization features in the
guest as well as allowing certain drivers which test for the
hypervisor to load.  Domain XML syntax is as follows:

<domain type='kvm>
  ...
  <features>
    ...
    <kvm>
      <hidden state='on'/>
    </kvm>
  </features>
  ...

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
10 years agolibxl: fix memory corruption introduced by commit b55cc5f4e
Jim Fehlig [Mon, 25 Aug 2014 22:46:00 +0000 (16:46 -0600)]
libxl: fix memory corruption introduced by commit b55cc5f4e

Commit b55cc5f4e did a shallow copy of libxl_{sdl,vnc}_info from the
domain config to the build info, which resulted in double-freeing
strings contained in the structures during cleanup, which later
resulted in a libvirtd crash.  Fix by performing a deep copy of the
structure, VIR_STRDUP'ing embedded strings instead of simply copying
their pointers.

Fixes the following issue reported on the libvirt dev list

https://www.redhat.com/archives/libvir-list/2014-August/msg01112.html

10 years agomaint: drop spurious semicolons
Eric Blake [Mon, 25 Aug 2014 22:26:56 +0000 (16:26 -0600)]
maint: drop spurious semicolons

I noticed a line 'int nparams = 0;;' in remote_dispatch.h, and
tracked down where it was generated.  While at it, I found a
couple of other double semicolons.  Additionally, I noticed that
commit df0b57a95 left a stale reference to the file name
remote_dispatch_bodies.h.

* src/conf/numatune_conf.c (virDomainNumatuneNodeParseXML): Drop
empty statement.
* tests/virdbustest.c (testMessageStruct, testMessageSimple):
Likewise.
* src/rpc/gendispatch.pl (remote_dispatch_bodies.h): Likewise, and
update stale comments.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agospec: drop anything older than Fedora 13
Eric Blake [Tue, 15 Jul 2014 22:36:00 +0000 (16:36 -0600)]
spec: drop anything older than Fedora 13

RHEL 5 is based on libvirt 0.8.2, as was Fedora 13.  RHEL 5 also
happens to be the oldest box that we actively support with a
buildbot, so it is time to clean up some crufty conditionals in
the spec file that no longer are necessary for modern Fedora.

Although it is probably okay to make further simplifications to
a newer minimum Fedora version, that can be done as a later patch.
This patch just focuses on cleaning any comparison of %{?fedora}
that will always be true or false once we assume a minimum of F13.

* libvirt.spec.in: Make with_audit default to on. Move other
conditionals to a single RHEL-5 block. Simplify any fedora
comparison older than 13.  Document our assumptions.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agodocs: fix bootmenu timeout description
Martin Kletzander [Mon, 25 Aug 2014 16:18:51 +0000 (18:18 +0200)]
docs: fix bootmenu timeout description

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agodaemon: Fix option -v missing info priority log
Zhou Yimin [Mon, 25 Aug 2014 12:18:01 +0000 (20:18 +0800)]
daemon: Fix option -v missing info priority log

Introduce by 63fbcc692.

When start libvirtd with commandline "/usr/sbin/libvirtd -d -l -v",
we expect verbose(info level) log if neither environment variable
nor config file about logging controls is set. But in fact we can't
get any info priority log in the default output file.

The log priority of default output is VIR_LOG_DEFAULT(VIR_LOG_WARN),
so the info log is filtered out.
To record info priority log we must parse option -v before setting the
default output.

After this patch, we get all verbose log in the default output file.

Signed-off-by: Zhou Yimin <zhouyimin@huawei.com>
10 years agoiotune: setting an invalid value now reports error
Erik Skultety [Mon, 25 Aug 2014 08:50:12 +0000 (10:50 +0200)]
iotune: setting an invalid value now reports error

When trying to set an invalid value into iotune element, standard
behavior was to not report any error, rather to reset all affected
subelements of the iotune element back to 0 which results in ignoring
those particular subelements by XML generator. Patch further
examines the return code of the virXPathULongLong function
and in case of an invalid non-integer value raises an error.
Fixed to preserve consistency with invalid value checking
of other elements.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1131811

10 years agoqemu: add support for splash-timeout
Martin Kletzander [Fri, 22 Aug 2014 12:13:37 +0000 (14:13 +0200)]
qemu: add support for splash-timeout

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1021703

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agoqemu: add capability probing for splash-timeout
Martin Kletzander [Fri, 22 Aug 2014 11:42:46 +0000 (13:42 +0200)]
qemu: add capability probing for splash-timeout

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agodocs, conf: add support for bootmenu timeout
Martin Kletzander [Fri, 22 Aug 2014 11:39:26 +0000 (13:39 +0200)]
docs, conf: add support for bootmenu timeout

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agofix mingw build
Pavel Hrdina [Mon, 25 Aug 2014 07:44:32 +0000 (09:44 +0200)]
fix mingw build

The commit "f5b4c141" introduced new "force" parameter
for "virFDStreamOpenFileInternal" but forget to update
one call of that function.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
10 years agostorage: zfs: implement download and upload
Roman Bogorodskiy [Fri, 15 Aug 2014 08:18:27 +0000 (12:18 +0400)]
storage: zfs: implement download and upload

Add an implementation of uploadVol and downloadVol using
virStorageBackendVolUploadLocal and virStorageBackendVolDownloadLocal
respectively.

10 years agofdstream: introduce virFDStreamOpenBlockDevice
Roman Bogorodskiy [Fri, 15 Aug 2014 08:11:35 +0000 (12:11 +0400)]
fdstream: introduce virFDStreamOpenBlockDevice

virStorageBackendVolDownloadLocal and virStorageBackendVolUploadLocal
use virFDStreamOpenFile function to work with the volume fd.

virFDStreamOpenFile calls virFDStreamOpenFileInternal that implements
handling of the non-blocking I/O. If a file is not a character device and
not a fifo, it uses libvirt_iohelper.

On FreeBSD, it doesn't work as expected because disk devices (including
ZFS volumes) are exposed as character devices, and ZFS volumes do not
support open(2) with O_NONBLOCK.

To overcome this, introduce a forceIOHelper flag to
virFDStreamOpenFileInternal that forces using libvirt_iohelper. And
introduce virFDStreamOpenBlockDevice that calls
virFDStreamOpenFileInternal with the forceIOHelper set to true.

10 years agofdstream: report error if virSetNonBlock fails
Roman Bogorodskiy [Fri, 15 Aug 2014 04:55:15 +0000 (08:55 +0400)]
fdstream: report error if virSetNonBlock fails

virFDStreamOpenInternal terminates if virSetNonBlock fails. As
virSetNonBlock uses gnulib's set_nonblocking_flag that sets errno,
call virReportSystemError() to let user know the reason of fail.

10 years agomaint: fix comment typo
Eric Blake [Sat, 23 Aug 2014 19:57:44 +0000 (13:57 -0600)]
maint: fix comment typo

* src/util/virbuffer.h: s/occured/occurred/

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoqemu: check for active domain after agent interaction
Eric Blake [Wed, 20 Aug 2014 21:29:44 +0000 (15:29 -0600)]
qemu: check for active domain after agent interaction

Commit b606bbb41 reminded me that any time we drop locks to run
back-to-back guest interaction commands, we have to check that
the guest didn't disappear in between the two commands.  A quick
audit found a couple of spots that were missing this check.

* src/qemu/qemu_driver.c (qemuDomainShutdownFlags)
(qemuDomainSetVcpusFlags): Check that domain is still up.

Signed-off-by: Eric Blake <eblake@redhat.com>
10 years agoxenconfig: Resolve Coverity RESOURCE_LEAK
John Ferlan [Fri, 22 Aug 2014 15:06:49 +0000 (11:06 -0400)]
xenconfig: Resolve Coverity RESOURCE_LEAK

Since '337a13628' - Coverity complains that 'net' is VIR_ALLOC()'d, but
on various 'cleanup' exit paths from the code there is no corresponding
cleanup.

10 years agovirnetsocket: Resolve Coverity RESOURCE_LEAK
John Ferlan [Fri, 22 Aug 2014 15:01:04 +0000 (11:01 -0400)]
virnetsocket: Resolve Coverity RESOURCE_LEAK

Since '1b807f92d' - Coverity complains that in the error paths of
both virFork() and virProcessWait() that the 'passfd' will not be closed.
Added the VIR_FORCE_CLOSE(passfd) and initialized it to -1.

Also noted that variable 'buf' was never really used - so I removed it

10 years agocommandtest: Resolve Coverity RESOURCE_LEAK
John Ferlan [Fri, 22 Aug 2014 14:30:44 +0000 (10:30 -0400)]
commandtest: Resolve Coverity RESOURCE_LEAK

Since '62f263a73' - Coverity complains if the !pidfile path is taken,
then newfd1 would be leaked.

10 years agonumatune: setting --mode does not work well
Erik Skultety [Fri, 22 Aug 2014 14:05:37 +0000 (16:05 +0200)]
numatune: setting --mode does not work well

When trying to set numatune mode directly using virsh numatune command,
correct error is raised, however numatune structure was not deallocated,
thus resulting in creating an empty numatune element in the guest XML,
if none was present before. Running the same command aftewards results
in a successful change with broken XML structure. Patch fixes the
deallocation problem as well as checking for invalid attribute
combination VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO + a nonempty nodeset.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1129998

10 years agoqemu: min_guarantee: Parameter 'min_guarantee' not supported
Erik Skultety [Wed, 13 Aug 2014 08:07:46 +0000 (10:07 +0200)]
qemu: min_guarantee: Parameter 'min_guarantee' not supported

The 'min_guarantee' is used by VMware ESX and OpenVZ drivers,
with qemu however, libvirt should report error when starting a domain,
because this element is not used.
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1122455

10 years agoformatdomain: Reformat vCPU description
John Ferlan [Thu, 21 Aug 2014 21:10:35 +0000 (17:10 -0400)]
formatdomain: Reformat vCPU description

Reformat the vCPU description to use list elements rather than one long
run-on paragraph

Signed-off-by: John Ferlan <jferlan@redhat.com>
10 years agoFix spacing around commas
Michal Privoznik [Fri, 22 Aug 2014 12:59:28 +0000 (14:59 +0200)]
Fix spacing around commas

On some places in the libvirt code we have:

  f(a,z)

instead of

  f(a, z)

This trivial patch fixes couple of such occurrences.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
10 years agoParallels: Change config report errors code.
Alexander Burluka [Fri, 22 Aug 2014 11:04:45 +0000 (15:04 +0400)]
Parallels: Change config report errors code.

Wrong error code in config errors reporting was used. Fixed it.

10 years agoParallels: fix error with video card RAM dimension
Alexander Burluka [Fri, 22 Aug 2014 11:04:44 +0000 (15:04 +0400)]
Parallels: fix error with video card RAM dimension

Libvirt measures vram in Kbytes, not in bytes, so calculation
of Mbytes was incorrect. PCS server can take vram argument
with units, so I added K postfix to make params a little bit clearer.

10 years agoParallels: add virNodeGetCPUMap().
Alexander Burluka [Fri, 22 Aug 2014 11:04:43 +0000 (15:04 +0400)]
Parallels: add virNodeGetCPUMap().

That function caused errors in libvirtd logs when OpenStack Nova
starts VM instance.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
10 years agoutil: compare floor attribute in virNetDevBandwidthEqual
Martin Kletzander [Fri, 22 Aug 2014 10:02:12 +0000 (12:02 +0200)]
util: compare floor attribute in virNetDevBandwidthEqual

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1064770

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
10 years agovirsh: Fix help info for freepages
Li Yang [Thu, 21 Aug 2014 03:19:53 +0000 (23:19 -0400)]
virsh: Fix help info for freepages

Signed-off-by: Li Yang <liyang.fnst@cn.fujitsu.com>
10 years agobuild: fix mingw build with virCommandReorderFDs
Martin Kletzander [Fri, 22 Aug 2014 08:28:17 +0000 (10:28 +0200)]
build: fix mingw build with virCommandReorderFDs

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>