- 10 11月, 2009 11 次提交
-
-
由 Eduardo Otubo 提交于
Use ssh keyfiles from the current user's home directory instead of trying to use keyfiles from a hardcoded /home/user directory. Fallback to username/password authentication if keyfiles are not available or keyfile authentication failed.
-
由 Daniel P. Berrange 提交于
Add reference counting on the virDomainObjPtr objects. With the forthcoming asynchronous QEMU monitor, it will be neccessary to release the lock on virDomainObjPtr while waiting for a monitor command response. It is neccessary to ensure one thread can't delete a virDomainObjPtr while another is waiting. By introducing reference counting threads can make sure objects they are using are not accidentally deleted while unlocked. * src/conf/domain_conf.h, src/conf/domain_conf.c: Add virDomainObjRef/Unref APIs, remove virDomainObjFree * src/openvz/openvz_conf.c: replace call to virDomainObjFree with virDomainObjUnref
-
由 Daniel P. Berrange 提交于
In preparation of the monitor I/O process becoming fully asynchronous, it is neccessary to ensure all access to internals of the qemuMonitorPtr object is protected by a mutex lock. * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add mutex for locking monitor. * src/qemu/qemu_driver.c: Add locking around all monitor commands
-
由 Daniel P. Berrange 提交于
Change the QEMU driver to not directly invoke the text mode monitor APIs. Instead add a generic wrapper layer, which will eventually invoke either the text or JSON protocol code as needed. Pass an qemuMonitorPtr object into the monitor APIs instead of virDomainObjPtr to complete the de-coupling of the monitor impl from virDomainObj data structures * src/qemu/qemu_conf.h: Remove qemuDomainObjPrivate definition * src/qemu/qemu_driver.c: Add qemuDomainObjPrivate definition. Pass qemuMonitorPtr into all monitor APIs instead of the virDomainObjPtr instance. * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add thin wrappers for all qemuMonitorXXX command APIs, calling into qemu_monitor_text.c/h * src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Rename qemuMonitor -> qemuMonitorText & update to accept qemuMonitorPtr instead of virDomainObjPtr
-
由 Daniel P. Berrange 提交于
Decouple the monitor code from the virDomainDefPtr structure by moving the disk encryption lookup code back into the qemu_driver.c file. Instead provide a function callback to the monitor code which can be invoked to retrieve encryption data as required. * src/qemu/qemu_driver.c: Add findDomainDiskEncryption, and findVolumeQcowPassphrase. Pass address of the method findVolumeQcowPassphrase into qemuMonitorOpen() * src/qemu/qemu_monitor.c: Associate a disk encryption function callback with the qemuMonitorPtr object. * src/qemu/qemu_monitor_text.c: Remove findDomainDiskEncryption and findVolumeQcowPassphrase.
-
由 Daniel P. Berrange 提交于
Introduce a new qemuDomainObjPrivate object which is used to store the private QEMU specific data associated with each virDomainObjPtr instance. This contains a single member, an instance of the new qemuMonitorPtr object which encapsulates the QEMU monitor state. The internals of the latter are private to the qemu_monitor* files, not to be shown to qemu_driver.c * src/qemu/qemu_conf.h: Definition of qemuDomainObjPrivate. * src/qemu/qemu_driver.c: Register a functions for creating and freeing qemuDomainObjPrivate instances with the domain capabilities. Remove the qemudDispatchVMEvent() watch since I/O watches are now handled by the monitor code itself. Pass a new qemuHandleMonitorEOF() callback into qemuMonitorOpen to allow notification when the monitor quits. * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Introduce the 'qemuMonitor' object. Temporarily add new APIs qemuMonitorWrite, qemuMonitorRead, qemuMonitorWaitForInput to allow text based monitor impl to perform I/O. * src/qemu/qemu_monitor_text.c: Call APIs for reading/writing to monitor instead of accessing the file handle directly.
-
由 Daniel P. Berrange 提交于
The qemu_driver.c code should not contain any code that interacts with the QEMU monitor at a low level. A previous commit moved all the command invocations out. This change moves out the code which actually opens the monitor device. * src/qemu/qemu_driver.c: Remove qemudOpenMonitor & methods called from it. * src/Makefile.am: Add qemu_monitor.{c,h} * src/qemu/qemu_monitor.h: Add qemuMonitorOpen() * src/qemu/qemu_monitor.c: All code for opening the monitor
-
由 Daniel P. Berrange 提交于
* src/util/threads.h, src/util/threads-pthread.c, src/libvirt_private.syms: Add virCondWaitUntil()
-
由 Daniel P. Berrange 提交于
* src/util/threads-pthread.c: pthreads APIs do not set errno, instead the return value is the positive errno. Set errno based on the return value in the wrappers
-
由 Daniel P. Berrange 提交于
* src/util/pci.c, src/util/pci.h: Make the pciDeviceList struct opaque to callers of the API. Add accessor methods for managing devices in the list * src/qemu/qemu_driver.c: Update to use APIs instead of directly accessing pciDeviceList fields
-
由 Matthias Bolte 提交于
-
- 09 11月, 2009 1 次提交
-
-
由 Gerhard Stenzel 提交于
As it was basically unimplemented and more confusing than useful at the moment. * src/libvirt_private.syms: remove from internal symbols list * src/qemu/qemu_bridge_filter.c src/util/ebtables.c: remove code and one use of the unimplemented function
-
- 08 11月, 2009 1 次提交
-
-
由 Matthias Bolte 提交于
In case of an error the domains hash and the driver mutex may leak. * src/opennebula/one_driver.c: free/destroy domains hash and driver mutex in error cases
-
- 07 11月, 2009 11 次提交
-
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
- Make reading ID from file working for IDs > 127 - Fix inverse error check for writing ID to file - Use feof() to distinguish EOF from real error of fread() - Don't interpret libssh2 error codes as number of bytes
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Also reset UUID to all 0 instead of all 48 (== '0') in phypUUIDTable_RemLpar()
-
由 Matthias Bolte 提交于
phypNumDomainsGeneric() and phypListDomainsGeneric() return 0 in case of an error. This makes it impossible to distinguish between an actual error and no domains being defined on the hypervisor. It also turn the no domains situation into an error. Return -1 in case of an error to fix this problem.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Daniel Veillard 提交于
* src/network/bridge_driver.c: when exec'ing dnsmaq, if there are DHCP ranges defined, then compute and pass the --dhcp-lease-max deriving the maximum number of leases
-
由 Daniel Veillard 提交于
* src/conf/network_conf.h: extend the structure to store the range * src/conf/network_conf.c: before adding a range parse the IP addresses do some checking and keep the size
-
由 Daniel Veillard 提交于
* src/util/network.c: getIPv4Addr() got broken when the input network address value got converted from network to host byte order
-
- 06 11月, 2009 11 次提交
-
-
由 Cole Robinson 提交于
This is what virsh already expects when printing output, and what 'man cpuset' claims to support.
-
由 Cole Robinson 提交于
-
由 Cole Robinson 提交于
Use this function in the qemu, uml, lxc, and test drivers.
-
由 Matthew Booth 提交于
* src/qemu/qemu_conf.c: Update qemudBuildCommandLineChrDevStr to use a virBuffer
-
由 Matthew Booth 提交于
* src/qemu_qemu_conf.c: Cleanup usage of virBuffer in qemudBuildCommandLine
-
由 Paolo Bonzini 提交于
* src/internal.h (ATTRIBUTE_SENTINEL): New, it's a ggc feature and protected as such * src/util/buf.c (virBufferStrcat): Use it. * src/util/ebtables.c (ebtablesAddRemoveRule): Use it. * src/util/iptables.c (iptableAddRemoveRule: Use it. * src/util/qparams.h (new_qparam_set, append_qparams): Use it. * docs/apibuild.py: avoid breaking the API generator with that new internal keyword macro
-
由 Cole Robinson 提交于
This matches the expected behavior of state drivers such as QEMU.
-
由 Cole Robinson 提交于
Performs changes needed when stopping a VM (which are currently duplicated in several places, and forgotten in others).
-
由 Paolo Bonzini 提交于
* src/qemu/qemu_driver.c: in qemudDomainMigratePerform call doPeer2PeerMigrate for VIR_MIGRATE_PEER2PEER.
-
由 Matthew Booth 提交于
* src/util/network.c: Add htons and ntohs in virSocket(Get|Set)Port
-
由 Eduardo Otubo 提交于
* src/phyp/phyp_driver.[ch]: add new entry points and a number of cleanups
-
- 05 11月, 2009 5 次提交
-
-
由 Matthew Booth 提交于
* include/libvirt/virterror.h src/util/virterror.c: add a new error VIR_ERR_CONFIG_UNSUPPORTED for valid but unsupported configuration options * src/conf/domain_conf.c: Throw an error if guestfwd address isn't IPv4 and cleanup a number of parsing return error values.
-
由 Matthew Booth 提交于
allows the following to be specified in a domain: <channel type='pipe'> <source path='/tmp/guestfwd'/> <target type='guestfwd' address='10.0.2.1' port='4600'/> </channel> * proxy/Makefile.am: add network.c as dep of domain_conf.c * docs/schemas/domain.rng src/conf/domain_conf.[ch]: extend the domain schemas and the parsing/serialization side for the new construct QEmu support will add the following on the qemu command line: -chardev pipe,id=channel0,path=/tmp/guestfwd -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0 * src/qemu/qemu_conf.c: Add argument output for channel * tests/qemuxml2(argv|xml)test.c: Add test for <channel> domain syntax
-
由 Matthew Booth 提交于
* src/qemu/qemu_conf.h: defines a new QEMUD_CMD_FLAG_CHARDEV flag * src/qemu/qemu_conf.c: parse the output for -chardev and set flag appropriately
-
由 Matthew Booth 提交于
A character device's target (it's interface in the guest) had only a single property: port. This patch is in preparation for adding targets which require other properties. Since this changes the conf type for character devices this affects a number of drivers: * src/conf/domain_conf.[ch] src/esx/esx_vmx.c src/qemu/qemu_conf.c src/qemu/qemu_driver.c src/uml/uml_conf.c src/uml/uml_driver.c src/vbox/vbox_tmpl.c src/xen/xend_internal.c src/xen/xm_internal.c: target properties are moved into a union in virDomainChrDef, and a targetType field is added to identify which union member should be used. All current code which touches a virDomainChrDef is updated both to use the new union field, and to populate targetType if necessary.
-
由 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
-