- 09 2月, 2010 2 次提交
-
-
由 Matthias Bolte 提交于
-
由 Jim Fehlig 提交于
Implementation of domain{Attach,Detach}DeviceFlags handlers in the drivers.
-
- 26 1月, 2010 1 次提交
-
-
由 Daniel P. Berrange 提交于
Two files were using functions from <sys/stat.h> but not including in. Most of the time they got this automatically via another header, but certain build flag combinations can reveal the problem * src/lxc/lxc_container.c, src/node_device/node_device_linux_sysfs.c: Add <sys/stat.h>
-
- 21 1月, 2010 1 次提交
-
-
由 Laine Stump 提交于
* src/lxc/lxc_container.c src/lxc/lxc_controller.c src/lxc/lxc_driver.c src/network/bridge_driver.c src/qemu/qemu_driver.c src/uml/uml_driver.c: virFileMakePath returns 0 for success, or the value of errno on failure, so error checking should be to test if non-zero, not if lower than 0
-
- 20 1月, 2010 1 次提交
-
-
由 Jiri Denemark 提交于
I noticed some debug messages are printed with an empty lines after them. This patch removes these empty lines from all invocations of the following macros: VIR_DEBUG VIR_DEBUG0 VIR_ERROR VIR_ERROR0 VIR_INFO VIR_WARN VIR_WARN0 Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 18 1月, 2010 1 次提交
-
-
由 Jim Meyering 提交于
* src/lxc/lxc_driver.c (lxcSetupInterfaces): Remove always-true array-is-non-NULL test. git grep 'mac\[.*\];'|grep -F .h src/conf/domain_conf.h: unsigned char mac[VIR_MAC_BUFLEN];
-
- 20 12月, 2009 1 次提交
-
-
由 Adam Litke 提交于
Set up the types for the domainMemoryStats function and insert it into the virDriver structure definition. Because of static initializers, update every driver and set the new field to NULL. * include/libvirt/libvirt.h.in: new API * src/driver.h src/*/*_driver.c src/vbox/vbox_tmpl.c: add the new entry to the driver structure * python/generator.py: fix compiler errors, the actual python binding is implemented later
-
- 18 12月, 2009 1 次提交
-
-
由 Jiri Denemark 提交于
* src/driver.h: add an extra entry point in the structure * src/esx/esx_driver.c src/lxc/lxc_driver.c src/opennebula/one_driver.c src/openvz/openvz_driver.c src/phyp/phyp_driver.c src/qemu/qemu_driver.c src/remote/remote_driver.c src/test/test_driver.c src/uml/uml_driver.c src/vbox/vbox_tmpl.c src/xen/xen_driver.c: add NULL entry points for all drivers
-
- 08 12月, 2009 2 次提交
-
-
由 Daniel P. Berrange 提交于
Now that drivers are using a private domain object state blob, the virDomainObjFormat/Parse methods are no longer able to directly serialize all neccessary state to/from XML. It is thus neccessary to introduce a pair of callbacks fo serializing private state. The code for serializing vCPU PIDs and the monitor device config can now move out of domain_conf.c and into the qemu_driver.c where they belong. * src/conf/capabilities.h: Add callbacks for serializing private state to/from XML * src/conf/domain_conf.c, src/conf/domain_conf.h: Remove the monitor, monitor_chr, monitorWatch, nvcpupids and vcpupids fields from virDomainObjPtr. Remove code that serialized those fields * src/libvirt_private.syms: Export virXPathBoolean * src/qemu/qemu_driver.c: Add callbacks for serializing monitor and vcpupid data to/from XML * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Pass monitor char device config into qemuMonitorOpen directly.
-
由 Daniel P. Berrange 提交于
* src/lxc/lxc_driver.c: Introduce lxcDomainObjPrivate for storing monitor device state
-
- 13 11月, 2009 2 次提交
-
-
由 Daniel P. Berrange 提交于
The wrong variable was being passed in with the LXC event callback resulting in a later deadlock or crash * src/lxc/lxc_driver.c: Pass 'vm' instead of 'driver' to event callback
-
由 Daniel P. Berrange 提交于
The capng_lock() call sets the SECURE_NO_SETUID_FIXUP and SECURE_NOROOT bits on the process. This prevents the kernel granting capabilities to processes with an effective UID of 0, or with setuid programs. This is not actually what we want in the container init process. It should be allowed to run setuid processes & keep capabilities when root. All that is required is masking a handful of dangerous capabilities from the bounding set. * src/lxc/lxc_container.c: Remove bogus capng_lock() call.
-
- 12 11月, 2009 2 次提交
-
-
由 Cole Robinson 提交于
There is currently no way to determine the libvirt version of a remote libvirtd we are connected to. This is a useful piece of data to enable feature detection.
-
由 Ryota Ozaki 提交于
* src/lxc/lxc_driver.c: add lxcDomainInterfaceStats implementing virDomainInterfaceStats()
-
- 11 11月, 2009 3 次提交
-
-
由 Daniel P. Berrange 提交于
This implements the virConnectIsSecure, virConnectIsEncrypted, virDomainIsPersistent, virDomainIsActive, virNetworkIsActive, virNetworkIsPersistent, virStoragePoolIsActive, virStoragePoolIsPersistent, virInterfaceIsActive APIs in (nearly) all drivers. Exceptions are: phyp: missing domainIsActive/Persistent esx: missing domainIsPersistent opennebula: missing domainIsActive/Persistent * src/remote/remote_protocol.x: Define remote wire ABI for newly added APIs. * daemon/remote_dispatch*.h: Re-generated from remote_protocol.x * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/network/bridge_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_conf.c, src/openvz/openvz_driver.c, src/phyp/phyp_driver.c, src/remote/remote_driver.c, src/storage/storage_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c, src/xen/xen_driver.c, src/xen/xen_driver.h, src/xen/xen_inotify.c, src/xen/xen_inotify.h: Implement all the new APIs where possible
-
由 Daniel P. Berrange 提交于
Introduce a number of new APIs to expose some boolean properties of objects, which cannot otherwise reliably determined, nor are aspects of the XML configuration. * virDomainIsActive: Checking virDomainGetID is not reliable since it is not possible to distinguish between error condition and inactive domain for ID of -1. * virDomainIsPersistent: Check whether a persistent config exists for the domain * virNetworkIsActive: Check whether the network is active * virNetworkIsPersistent: Check whether a persistent config exists for the network * virStoragePoolIsActive: Check whether the storage pool is active * virStoragePoolIsPersistent: Check whether a persistent config exists for the storage pool * virInterfaceIsActive: Check whether the host interface is active * virConnectIsSecure: whether the communication channel to the hypervisor is secure * virConnectIsEncrypted: whether any network based commnunication channels are encrypted NB, a channel can be secure, even if not encrypted, eg if it does not involve the network, like a UNIX socket, or pipe. * include/libvirt/libvirt.h.in: Define public API * src/driver.h: Define internal driver API * src/libvirt.c: Implement public API entry point * src/libvirt_public.syms: Export API symbols * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/interface/netcf_driver.c, src/network/bridge_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_driver.c, src/phyp/phyp_driver.c, src/qemu/qemu_driver.c, src/remote/remote_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c, src/xen/xen_driver.c: Stub out driver tables
-
由 Daniel Veillard 提交于
* src/libvirt.c src/lxc/lxc_conf.c src/lxc/lxc_container.c src/lxc/lxc_controller.c src/node_device/node_device_hal.c src/openvz/openvz_conf.c src/qemu/qemu_driver.c src/qemu/qemu_monitor_text.c src/remote/remote_driver.c src/storage/storage_backend_disk.c src/storage/storage_driver.c src/util/logging.c src/xen/sexpr.c src/xen/xend_internal.c src/xen/xm_internal.c: Steve Grubb <sgrubb@redhat.com> sent a code review and those are the fixes correcting the problems
-
- 10 11月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 06 11月, 2009 1 次提交
-
-
由 Cole Robinson 提交于
Use this function in the qemu, uml, lxc, and test drivers.
-
- 05 11月, 2009 4 次提交
-
-
由 Ryota Ozaki 提交于
Current implementation of lxc driver creates vethN named interface(s) in the host and passes as it is to a container. The reason why it doesn't use ethN is due to the limitation that one namespace cannot have multiple iterfaces that have an identical name so that we give up creating ethN named interface in the host for the container. However, we should be able to allow the container to have ethN by changing the name after clone(CLONE_NEWNET). * src/lxc/lxc_container.c src/lxc/veth.c src/lxc/veth.h: do the clone and then renames interfaces eth0 ... ethN to keep the interface names familiar in the domain
-
由 Ryota Ozaki 提交于
* src/lxc/lxc_driver.c: refactor lxcDomainSetAutostart() to avoid deep indentation of the code
-
由 Ryota Ozaki 提交于
* src/lxc/lxc_container.c src/lxc/lxc_controller.c src/lxc/lxc_driver.c src/lxc/veth.c: most of cleanups are just capitalizing their messages though, some fixes wrong error messages and awkward indentations, and improves error messages.
-
由 Ryota Ozaki 提交于
* src/lxc/lxc_container.c src/lxc/lxc_controller.c src/lxc/lxc_driver.c src/lxc/veth.c: fix broken function comments
-
- 04 11月, 2009 1 次提交
-
-
由 Cole Robinson 提交于
All drivers have copy + pasted inadequate error reporting which wraps util.c:virGetHostname. Move all error reporting to this function, and improve what we report. Changes from v1: Drop the driver wrappers around virGetHostname. This means we still need to keep the new conn argument to virGetHostname, but I think it's worth it.
-
- 03 11月, 2009 4 次提交
-
-
由 Chris Lalancette 提交于
When building with --disable-nls, I got a few messages like this: storage/storage_backend.c: In function 'virStorageBackendCreateQemuImg': storage/storage_backend.c:571: warning: format not a string literal and no format arguments Fix these up. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Daniel P. Berrange 提交于
The LXC driver was mistakenly returning -1 for lxcStartup() in scenarios that are not an error. This caused the libvirtd to quit for unprivileged users. This fixes the return code of LXC driver, and also adds a "name" field to the virStateDriver struct and logging to make it easier to find these problems in the future * src/driver.h: Add a 'name' field to state driver to allow easy identification during failures * src/libvirt.c: Log name of failed driver for virStateInit failures * src/lxc/lxc_driver.c: Don't return a failure code for lxcStartup() if LXC is not available on this host, simply disable the driver. * src/network/bridge_driver.c, src/node_device/node_device_devkit.c, src/node_device/node_device_hal.c, src/opennebula/one_driver.c, src/qemu/qemu_driver.c, src/remote/remote_driver.c, src/secret/secret_driver.c, src/storage/storage_driver.c, src/uml/uml_driver.c, src/xen/xen_driver.c: Fill in name field in virStateDriver struct
-
由 Daniel P. Berrange 提交于
Rename virDomainIsActive to virDomainObjIsActive, and virInterfaceIsActive to virInterfaceObjIsActive and finally virNetworkIsActive to virNetworkObjIsActive. * src/conf/domain_conf.c, src/conf/domain_conf.h, src/conf/interface_conf.h, src/conf/network_conf.c, src/conf/network_conf.h, src/lxc/lxc_driver.c, src/network/bridge_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_driver.c, src/qemu/qemu_driver.c, src/test/test_driver.c, src/uml/uml_driver.c: Update for renamed APIs.
-
由 Daniel P. Berrange 提交于
The virDomainObjPtr object stores state about a running domain. This object is shared across all drivers so it is not appropriate to include driver specific state here. This patch adds the ability to request a blob of private data per domain object instance. The driver must provide a allocator & deallocator for this purpose THis patch abuses the virCapabilitiesPtr structure for storing the allocator/deallocator callbacks, since it is already being abused for other internal things relating to parsing. This should be moved out into a separate object at some point. * src/conf/capabilities.h: Add privateDataAllocFunc and privateDataFreeFunc fields * src/conf/domain_conf.c: Invoke the driver allocators / deallocators when creating/freeing virDomainObjPtr instances. * src/conf/domain_conf.h: Pass virCapsPtr into virDomainAssignDef to allow access to the driver specific allocator function * src/lxc/lxc_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_driver.c, src/qemu/qemu_driver.c, src/test/test_driver.c, src/uml/uml_driver.c: Update for change in virDomainAssignDef contract
-
- 29 10月, 2009 1 次提交
-
-
由 Daniel P. Berrange 提交于
The current virDomainObjListPtr object stores domain objects in an array. This means that to find a particular objects requires O(n) time, and more critically acquiring O(n) mutex locks. The new impl replaces the array with a virHashTable, keyed off UUID. Finding a object based on UUID is now O(1) time, and only requires a single mutex lock. Finding by name/id is unchanged in complexity. In changing this, all code which iterates over the array had to be updated to use a hash table iterator function callback. Several of the functions which were identically duplicating across all drivers were pulled into domain_conf.c * src/conf/domain_conf.h, src/conf/domain_conf.c: Change virDomainObjListPtr to use virHashTable. Add a initializer method virDomainObjListInit, and rename virDomainObjListFree to virDomainObjListDeinit, since its not actually freeing the container, only its contents. Also add some convenient methods virDomainObjListGetInactiveNames, virDomainObjListGetActiveIDs and virDomainObjListNumOfDomains which can be used to implement the correspondingly named public API entry points in drivers * src/libvirt_private.syms: Export new methods from domain_conf.h * src/lxc/lxc_driver.c, src/opennebula/one_driver.c, src/openvz/openvz_conf.c, src/openvz/openvz_driver.c, src/qemu/qemu_driver.c, src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c: Update all code to deal with hash tables instead of arrays for domains
-
- 21 10月, 2009 2 次提交
-
-
由 Daniel Veillard 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=528575 virsh -c lxc:/// autostart vm1 was crashing the daemon * src/lxc/lxc_conf.h src/lxc/lxc_conf.c: initialize the driver autostartDir to avoid a NULL reference and implement autostart for LXC
-
由 Ryota Ozaki 提交于
Currently MAC address configuration of container veth is just ignored. This patch implements the missing feature. * src/lxc/veth.c, src/lxc/veth.h: add setMacAddr * src/lxc/lxc_driver.c: set macaddr of container veth if specified
-
- 14 10月, 2009 1 次提交
-
-
由 Ryota Ozaki 提交于
* src/lxc/lxc_driver.c: without PATH, the controller will definitely fail to call ip command
-
- 13 10月, 2009 1 次提交
-
-
由 Ryota Ozaki 提交于
In lxcVmStart we first should not reuse rc for another purpose than the return value. * src/lxc/lxc_driver.c: don't reuse rc for local procedure calls
-
- 09 10月, 2009 1 次提交
-
-
由 Amy Griffis 提交于
* src/lxc/libvirtd_lxc.aug src/lxc/test_libvirtd_lxc.aug: augeas schemas for lxc.conf * src/Makefile.am libvirt.spec.in: glue the new augeas files in
-
- 08 10月, 2009 3 次提交
-
-
由 Amy Griffis 提交于
* src/lxc/lxc.conf: new configuration file, there is currently one tunable "log_with_libvirtd" that controls whether an lxc controller will log only to the container log file, or whether it will honor libvirtd's log output configuration. This provides a way to have libvirtd and its children log to a single file. The default is to log to the container log file. * src/Makefile.am libvirt.spec.in: add the new file * src/lxc/lxc_conf.[ch] src/lxc/lxc_driver.c: read the new log value from the configuration file and pass the log informations when starting up a container.
-
由 Amy Griffis 提交于
* src/lxc/lxc_driver.c: use O_APPEND instead of O_TRUNC when opening the log file on lxcVmStart()
-
由 Amy Griffis 提交于
* src/lxc/lxc_driver.c src/lxc/lxc_controller.c: before launching the lxc controller, have the lxc driver query the log settings and setup envp[]. This provides the advantage of honoring the actual log configuration instead of only what had been set in the environment. The lxc controller now simply has to call virLogSetFromEnv().
-
- 07 10月, 2009 1 次提交
-
-
由 Ryota Ozaki 提交于
The patch implements the missing memory control APIs for lxc, i.e., domainGetMaxMemory, domainSetMaxMemory, domainSetMemory, and improves domainGetInfo to return proper amount of used memory via cgroup. * src/libvirt_private.syms: Export virCgroupGetMemoryUsage and add missing virCgroupSetMemory * src/lxc/lxc_driver.c: Implement missing memory functions * src/util/cgroup.c, src/util/cgroup.h: Add the function to get used memory
-
- 02 10月, 2009 1 次提交
-
-
由 Chris Lalancette 提交于
Implementation of tunnelled migration, using a Unix Domain Socket on the qemu backend. Note that this requires very new versions of qemu (0.10.7 at least) in order to get the appropriate bugfixes. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
- 23 9月, 2009 1 次提交
-
-
由 Chris Lalancette 提交于
Add the virStrncpy function, which takes a dst string, source string, the number of bytes to copy and the number of bytes available in the dest string. If the source string is too large to fit into the destination string, including the \0 byte, then no data is copied and the function returns NULL. Otherwise, this function copies n bytes from source into dst, including the \0, and returns a pointer to the dst string. This function is intended to replace all unsafe uses of strncpy in the code base, since strncpy does *not* guarantee that the buffer terminates with a \0. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-