aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* simplify xenXMDomainPinVcpu functionliguang2012-09-201-0/+1
| | | | | | | supersede tedious statements getting cpu bitmap from parameter cpumap by virBitmapNewData function Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
* build: fix missing includeDwight Engen2012-09-141-0/+1
| | | | | virNWFilterSnoopAdjustPoll() uses a struct pollfd but poll.h is never included nwfilter/nwfilter_dhcpsnoop.c:1297: error: 'struct pollfd' declared inside parameter list
* Pass a correct pointer type to localtime_r(3).Paul Eggert2012-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On 09/04/2012 08:20 AM, Eric Blake wrote: > tv_sec is required by POSIX to be > of type time_t; so this is a bug in the OpenBSD header > [for declaring it as long] Most likely this problem arose because of the patch I pushed in gnulib commit e07d7c40f3ca5ec410cf5aa6fa03cfe51e712039. Previously, gnulib required timeval's tv_sec to be the same size as time_t. But now, it requires only that tv_sec be big enough to hold a time_t. This patch was needed for Emacs. Without the patch, gnulib replaced struct timeval on OpenBSD, and this messed up utimens.c, and Emacs wouldn't build. Alternatively, gnulib could substitute its own struct timeval for the system's, wrapping every struct timeval-using function (gettimeofday, futimesat, futimes, lutimes, etc. That'd be more work, though. And it would introduce some performance issues with gettimeofday, which is supposed to be fast. I've been trying to get away from using struct timeval, and to use the higher-resolution struct timespec instead, so messing with these obsolescent interfaces has been lower priority for me. But if someone wants to take the more-ambitious approach that'd be fine, I expect. For this particular case, though, how about if we avoid the problem entirely? libvirt doesn't need to use struct timeval here at all. It makes libvirt smaller and probably faster, and it ports to OpenBSD without messing with gnulib.
* Include an extra header needed for OpenBSD.Jasper Lievisse Adriaanse2012-09-041-0/+1
|
* Fix issue of PF brought down if VF is 8021.Qbh and pci passthroughNishank Trivedi2012-08-301-0/+1
| | | | | | | | | | | | | | | | If a 8021.Qbh network device supports SRIOV and its VF is being used in pci passthrough mode, when the guest is shutdown or destroyed, the PF inteface is also brought down. qemuDomainHostdevNetConfigRestore() finds out the PF for provided hostdev (which is VF) and passes it to virNetDevPortProfileDisassociate() as linkdev. Later, linkdev gets passed to virNetDevSetOnline() where the interface is brought down by clearing IFF_UP flag. Bringing down a PF, when only VF is being brought down is not expected behavior. This patch adds a check so that virNetDevSetOnline() is called only for PF and not if device is a VF. Signed-off-by: Nishank Trivedi <nistrive@cisco.com>
* dnsmasq: avoid forwarding queries without a domainGene Czarcinski2012-08-221-0/+1
| | | | | | | | | | dnsmasq is forwarding a number of queries upstream that should not be done. There still remains an MX query for a plain name with no domain specified that will be forwarded is dnsmasq has --domain=xxx --local=/xxx/ specified. This does not happen with no domain name and --local=// ... not a libvirt problem. BTW, thanks again to Claudio Bley!
* docs: fix blockpull/blockcopy bandwidth Mbps -> MiB/sStefan Hajnoczi2012-08-221-0/+1
| | | | | | | The bandwidth units for blockpull and blockcopy are in Megabytes per Second, not Megabits per Second. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* Support for Disk Geometry OverrideJ.B. Joret2012-08-211-0/+2
| | | | | | | | | | A hypervisor may allow to override the disk geometry of drives. Qemu, as an example with cyls=,heads=,secs=[,trans=]. This patch extends the domain config to allow the specification of disk geometry with libvirt. Signed-off-by: J.B. Joret <jb@linux.vnet.ibm.com> Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
* network: use firewalld instead of iptables, when availableThomas Woerner2012-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac, spec file: firewalld defaults to enabled if dbus is available, otherwise is disabled. If --with_firewalld is explicitly requested and dbus is not available, configure will fail. * bridge_driver: add dbus filters to get the FirewallD1.Reloaded signal and DBus.NameOwnerChanged on org.fedoraproject.FirewallD1. When these are encountered, reload all the iptables reuls of all libvirt's virtual networks (similar to what happens when libvirtd is restarted). * iptables, ebtables: use firewall-cmd's direct passthrough interface when available, otherwise use iptables and ebtables commands. This decision is made once the first time libvirt calls iptables/ebtables, and that decision is maintained for the life of libvirtd. * Note that the nwfilter part of this patch was separated out into another patch by Stefan in V2, so that needs to be revised and re-reviewed as well. ================ All the configure.ac and specfile changes are unchanged from Thomas' V3. V3 re-ran "firewall-cmd --state" every time a new rule was added, which was extremely inefficient. V4 uses VIR_ONCE_GLOBAL_INIT to set up a one-time initialization function. The VIR_ONCE_GLOBAL_INIT(x) macro references a static function called vir(Ip|Eb)OnceInit(), which will then be called the first time that the static function vir(Ip|Eb)TablesInitialize() is called (that function is defined for you by the macro). This is thread-safe, so there is no chance of any race. IMPORTANT NOTE: I've left the VIR_DEBUG messages in these two init functions (one for iptables, on for ebtables) as VIR_WARN so that I don't have to turn on all the other debug message just to see these. Even if this patch doesn't need any other modification, those messages need to be changed to VIR_DEBUG before pushing. This one-time initialization works well. However, I've encountered problems with testing: 1) Whenever I have enabled the firewalld service, *all* attempts to call firewall-cmd from within libvirtd end with firewall-cmd hanging internally somewhere. This is *not* the case if firewall-cmd returns non-0 in response to "firewall-cmd --state" (i.e. *that* command runs and returns to libvirt successfully.) 2) If I start libvirtd while firewalld is stopped, then start firewalld later, this triggers libvirtd to reload its iptables rules, however it also spits out a *ton* of complaints about deletion failing (I suppose because firewalld has nuked all of libvirt's rules). I guess we need to suppress those messages (which is a more annoying problem to fix than you might think, but that's another story). 3) I noticed a few times during this long line of errors that firewalld made a complaint about "Resource Temporarily unavailable. Having libvirtd access iptables commands directly at the same time as firewalld is doing so is apparently problematic. 4) In general, I'm concerned about the "set it once and never change it" method - if firewalld is disabled at libvirtd startup, causing libvirtd to always use iptables/ebtables directly, this won't cause *terrible* problems, but if libvirtd decides to use firewall-cmd and firewalld is later disabled, libvirtd will not be able to recover.
* Adding Sukadev BhattiproluDaniel Veillard2012-08-151-0/+1
|
* sanlock: don't unlink lockspace if registration failsAsad Saeed2012-08-131-0/+1
| | | | | | | | This is a patch for bug 847848 If registering an existing lockspace with the sanlock daemon returns an error, libvirt should not proceed to unlink the lockspace. Signed-off-by: Asad Saeed <asad.saeed@acidseed.com>
* maint: add attribution for last patchEric Blake2012-08-131-0/+1
| | | | * AUTHORS: Add Frido Roose.
* Fix errno check, prevent spurious errors under heavy loadPeter Feiner2012-08-081-0/+1
| | | | | | | | | From man poll(2), poll does not set errno=EAGAIN on interrupt, however it does set errno=EINTR. Have libvirt retry on the appropriate errno. Under heavy load, a program of mine kept getting libvirt errors 'poll on socket failed: Interrupted system call'. The signals were SIGCHLD from processes forked by threads unrelated to those using libvirt.
* Add -netdev bridge capabilitiesRicha Marwaha2012-08-061-0/+1
| | | | | | | | This patch adds the capability in libvirt to check if -netdev bridge option is supported or not. Signed-off-by: Richa Marwaha <rmarwah@linux.vnet.ibm.com> Signed-off-by: Corey Bryant<coreyb@linux.vnet.ibm.com>
* maint: consolidate AUTHOR listings for Gerd von EgidyGerd v. Egidy2012-08-011-1/+1
|
* maint: spelling correction in AUTHORSEric Blake2012-07-251-1/+1
| | | | Ján Tomko has an accented name.
* virsh: Clarify that memtune parameters may be rounded in the man pageJan Tomko2012-07-241-0/+2
|
* ESX: Fix ESX_VI__TEMPLATE__DYNAMIC_DEEP_COPYAta E Husain Bohra2012-07-211-0/+1
| | | | | | | | | Fix addresses two issues: 1. Fix generator code to allow deep copy operation for objects with Dynamic_Cast capabilities. 2. Add missing deep copy routine to Long datatype. Signed-off-by: Ata E Husain Bohra <ata.husain@hotmail.com>
* Add a sheepdog backend for the storage driverSebastian Wiedenroth2012-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch brings support to manage sheepdog pools and volumes to libvirt. It uses the "collie" command-line utility that comes with sheepdog for that. A sheepdog pool in libvirt maps to a sheepdog cluster. It needs a host and port to connect to, which in most cases is just going to be the default of localhost on port 7000. A sheepdog volume in libvirt maps to a sheepdog vdi. To create one specify the pool, a name and the capacity. Volumes can also be resized later. In the volume XML the vdi name has to be put into the <target><path>. To use the volume as a disk source for virtual machines specify the vdi name as "name" attribute of the <source>. The host and port information from the pool are specified inside the host tag. <disk type='network'> ... <source protocol="sheepdog" name="vdi_name"> <host name="localhost" port="7000"/> </source> </disk> To work right this patch parses the output of collie, so it relies on the raw output option. There recently was a bug which caused size information to be reported wrong. This is fixed upstream already and will be in the next release. Signed-off-by: Sebastian Wiedenroth <wiedi@frubar.net>
* ARMHF: CPU Support for armhf.Chuck Short2012-07-131-0/+1
| | | | | | Adding CPU encoder/decoder for armhf to avoid runtime error messages. Signed-off-by: Chuck Short <chuck.short@canonical.com>
* Fix directory removal in filesystem storage driverSascha Peilicke2012-07-111-0/+1
| | | | | | | Fix the virStorageBackendFileSystemVolDelete method to not use unlink() unconditionally. It must use rmdir() for volumes which are directories. It should also raise an error if given a volume which has the network/block type.
* maint: update preferred contributor nameEric Blake2012-07-091-1/+1
| | | | | | | Based on off-list discussion with Royce. * AUTHORS: Update to Royce Lv's preferred anglicized name. * .mailmap: Likewise.
* qemu: add rbd to whitelist of migration-safe formatsJosh Durgin2012-07-021-1/+1
| | | | | | | | | | | | | QEMU (and librbd) flush the cache on the source before the destination starts, and the destination does not read any changeable data before that, so live migration with rbd caching is safe. This makes 'virsh migrate' work with rbd and caching without the --unsafe flag. Reported-by: Vladimir Bashkirtsev <vladimir@bashkirtsev.com> Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* Fix vm's outbound traffic control problemEiichi Tsukata2012-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hello, This is a patch to fix vm's outbound traffic control problem. Currently, vm's outbound traffic control by libvirt doesn't go well. This problem was previously discussed at libvir-list ML, however it seems that there isn't still any answer to the problem. http://www.redhat.com/archives/libvir-list/2011-August/msg00333.html I measured Guest(with virtio-net) to Host TCP throughput with the command "netperf -H". Here are the outbound QoS parameters and the results. outbound average rate[kilobytes/s] : Guest to Host throughput[Mbit/s] ====================================================================== 1024 (8Mbit/s) : 4.56 2048 (16Mbit/s) : 3.29 4096 (32Mbit/s) : 3.35 8192 (64Mbit/s) : 3.95 16384 (128Mbit/s) : 4.08 32768 (256Mbit/s) : 3.94 65536 (512Mbit/s) : 3.23 The outbound traffic goes down unreasonably and is even not controled. The cause of this problem is too large mtu value in "tc filter" command run by libvirt. The command uses burst value to set mtu and the burst is equal to average rate value if it's not set. This value is too large. For example if the average rate is set to 1024 kilobytes/s, the mtu value is set to 1024 kilobytes. That's too large compared to the size of network packets. Here libvirt applies tc ingress filter to Host's vnet(tun) device. Tc ingress filter is implemented with TBF(Token Buckets Filter) algorithm. TBF uses mtu value to calculate the amount of token consumed by each packet. With too large mtu value, the token consumption rate is set too large. This leads to token starvation and deterioration of TCP throughput. Then, should we use the default mtu value 2 kilobytes? The anser is No, because Guest with virtio-net device uses 65536 bytes as mtu to transmit packets to Host, and the tc filter with the default mtu value 2k drops packets whose size is larger than 2k. So, the most packets is droped and again leads to deterioration of TCP throughput. The appropriate mtu value is 65536 bytes which is equal to the maximum value of network interface device defined in <linux/netdevice.h>. The value is not so large that it causes token starvation and not so small that it drops most packets. Therefore this patch set the mtu value to 64kb(== 65535 bytes). Again, here are the outbound QoS parameters and the TCP throughput with the libvirt patched. outbound average rate[kilobytes/s] : Guest to Host throughput[Mbit/s] ====================================================================== 1024 (8Mbit/s) : 8.22 2048 (16Mbit/s) : 16.42 4096 (32Mbit/s) : 32.93 8192 (64Mbit/s) : 66.85 16384 (128Mbit/s) : 133.88 32768 (256Mbit/s) : 271.01 65536 (512Mbit/s) : 547.32 The outbound traffic conforms to the given limit. Thank you, Signed-off-by: Eiichi Tsukata <eiichi.tsukata.xh@hitachi.com>
* AUTHORS: UpdateMichal Privoznik2012-06-251-0/+2
| | | | | | | Latest patchset enabling libvirt on s390(x) was developed by Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Thang Pham <thang.pham@us.ibm.com> Add them to the AUTHORS file.
* qemu: Add xhci supportGerd Hoffmann2012-06-211-0/+1
| | | | | | | qemu 1.1 features a xhci controller, this patch adds support for it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Fix default USB controller for ppc64Dipankar Sarma2012-06-191-0/+1
| | | | | | | Fix the default usb controller for pseries systems if none specified. Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
* Update AUTHORSOsier Yang2012-06-111-0/+1
| | | | Commit a80bb970 forgot to update authors.
* Fix for parallel port passthrough for QEMUBeat Jörg2012-06-041-0/+1
| | | | | | | | | | | | | | | | | | | | | I came across a bug that the command line generated for passthrough of the host parallel port /dev/parport0 by libvirt for QEMU is incorrect. It currently produces: -chardev tty,id=charparallel0,path=/dev/parport0 -device isa-parallel,chardev=charparallel0,id=parallel0 The first parameter is "tty". It sould be "parport". If I launch qemu with -chardev parport,... it works as expected. I have already filled a bug report ( https://bugzilla.redhat.com/show_bug.cgi?id=823879 ), the topic was already on the list some months ago: https://www.redhat.com/archives/libvirt-users/2011-September/msg00095.html Signed-off-by: Eric Blake <eblake@redhat.com>
* Fix sync issue in virNetClientStreamEventRemoveCallbackRadu Caragea2012-06-041-0/+1
| | | | | The stream lock is unlocked twice instead of being locked and then unlocked. Probably a typo.
* qemu: move -name arg to be 1st in "ps x" outputMarti Raudsepp2012-06-011-0/+1
| | | | | | | | | | Currently, monitoring QEMU virtual machines with standard Unix sysadmin tools is harder than it has to be. The QEMU command line is often miles long and mostly redundant, it's hard to tell which process is which. This patch reorders the QEMU -name argument to be the first, so it's immediately visible in "ps x", htop and "atop -c" output.
* sanlock: fix locking for readonly devicesDavid Weber2012-05-141-0/+1
| | | | Add ignore param for readonly and shared disk in sanlock
* maint: fix AUTHORSEric Blake2012-05-141-1/+1
| | | | | Use the address specified in the actual commit, to placate 'make syntax-check'.
* Use XDG Base Directories instead of storing in home directoryWilliam Jon McCann2012-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | As defined in: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html This offers a number of advantages: * Allows sharing a home directory between different machines, or sessions (eg. using NFS) * Cleanly separates cache, runtime (eg. sockets), or app data from user settings * Supports performing smart or selective migration of settings between different OS versions * Supports reseting settings without breaking things * Makes it possible to clear cache data to make room when the disk is filling up * Allows us to write a robust and efficient backup solution * Allows an admin flexibility to change where data and settings are stored * Dramatically reduces the complexity and incoherence of the system for administrators
* util: add functions for interating over json objectDmitry Guryanov2012-05-031-0/+1
| | | | | | | | | Add function virJSONValueObjectKeysNumber, virJSONValueObjectGetKey and virJSONValueObjectGetValue, which allow you to iterate over all fields of json object: you can get number of fields and then get name and value, stored in field with that name by index. Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com>
* Added Snooze cloud manager to the IaaS sectionEugen Feller2012-05-021-0/+1
|
* storage: Allow multiple hosts for a storage poolWido den Hollander2012-04-301-0/+1
| | | | | | | | | | | The current storage pools for NFS and iSCSI only require one host to connect to. Future storage pools like RBD and Sheepdog will require multiple hosts. This patch allows multiple source hosts and rewrites the current storage drivers. Signed-off-by: Wido den Hollander <wido@widodh.nl>
* esx: Fix segfault in esxConnectToHostRyan Woodsmall2012-04-211-0/+1
| | | | | | Caused by commit 4445e16bfa8056980ac643fabf17186f9e685925 that made the code used the connection private data pointer before it was initialized.
* Do not enforce source type of console[0]Jan Kiszka2012-04-161-0/+1
| | | | | | | | If console[0] is an alias for serial[0], do not enforce the former to have a PTY source type. This breaks serial consoles on stdio and makes no sense. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
* Set Martin Kletzander as a commiterDaniel Veillard2012-04-161-1/+1
|
* UML: fix iteration over consolesMATSUDA, Daiki2012-04-091-0/+1
| | | | | | I found typo in UML driver. MATSUDA Daiki
* xen config: No vfb in HVM guest configurationStefan Bader2012-04-061-0/+1
| | | | | | | | | This causes an implicit vkbd device to be added which takes 6min to finally fail being initialized in the guest. http://lists.xen.org/archives/html/xen-devel/2012-04/msg00409.html Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
* openvz: support vzctl 3.1Ilja Livenson2012-04-041-0/+1
| | | | | | | https://bugzilla.redhat.com/show_bug.cgi?id=809895 Basically, openvz dropped strict version numbering (3.1 vs 3.1.0), which caused parsing to fail.
* qemu: Make migration fail when port profile association fails on the dst hostChristian Benvenuti2012-03-281-0/+1
| | | | | | | | | | | | | | | | | In the current V3 migration protocol, Libvirt does not check the result of the function qemuMigrationVPAssociatePortProfiles This means that it is possible for a migration to complete successfully even when the VM loses network connectivity on the destination host. With this change libvirt aborts the migration (during the "finish" step) when the above function fails, that is to say when at least one of the port profile associations fails. Signed-off by: Christian Benvenuti <benve@cisco.com>
* Change the default of mdns_adv to falseStef Walter2012-03-271-0/+1
| | | | | | | | | | * Don't advertise information on the network without consent of the user, either through manual configuration, or a user interface that drives this option. * Since libvirtd must be configured for network access anyway (for all but ssh), this setting was not useful "out of the box", so changing this default setting does not remove "out of the box" functionality.
* Add qemu support for ppc64 on FC16 or above for rpm packagingLi Zhang2012-03-231-0/+1
| | | | | | | On Fedora16 or above, qemu is supported now. So it is added in rpm packaging. Signed-off-by: Li Zhang <zhlcindy@linux.vnet.ibm.com>
* qemu: spice agent-mouse supportPeng Zhou2012-03-091-0/+1
| | | | | | | | | | | spice agent-mouse support Usage: <graphics type='spice'> <mouse mode='client'|'server'/> <graphics/> Signed-off-by: Osier Yang <jyang@redhat.com>
* Build error on OSX in src/util/virnetlink.cDuncan Rance2012-03-061-0/+1
| | | | I'm building on OSX with no libnl. I had to do this to get src/util/virnetlink.c to compile:
* virterror: Misleading error message when name is missingBenjamin Cama2012-02-231-0/+1
| | | | | | | | | | | | | | | | [forwarding this here from RH bug #796732] When creating a network (virsh net-create) with an erroneous XML containing an empty <name> element, the error message is misleading: error: Failed to create network from foo.xml error: missing domain name information It took me a bit of time to figure out that it was the *network* name that was missing (I generate this xml and didn't look at it, first). I realized that the same message is used for missing name when creating a domain, network, or device node.
* spec: use ix86 macrosPeter Robinson2012-02-201-0/+1
| | | | * libvirt.spec.in: Use %{ix86} rather than open-coded list.