- 26 5月, 2011 13 次提交
-
-
由 Markus Groß 提交于
Based on the device attach/detach code from the QEMU driver, but using the new functions to create the structures associated. * src/libxl/libxl_driver.c: implements domainAttachDevice, domainAttachDeviceFlags, domainDetachDevice, domainDetachDeviceFlags and domainUpdateDeviceFlags
-
由 Markus Groß 提交于
* src/libxl/libxl_driver.c: in libxlVmCleanup, free up the newDef definition if present overwise it would be leaked.
-
由 Markus Groß 提交于
Create 3 new function refactored from previous list ones and exports them internally to the driver * src/libxl/libxl_conf.c src/libxl/libxl_conf.h: create libxlMakeDisk, libxlMakeNic libxlMakeVfb out of the exsting static List functions and exports them
-
由 Markus Groß 提交于
When modifying the disk devices of a live domain and the domain configuration, the function qemuDomainAttachDeviceConfig first sets dev->data->disk to NULL. Later qemuDomainAttachDeviceLive accesses dev->data.disk and causes a segfault. * src/qemu/qemu_driver.c: fix qemuDomainModifyDeviceFlags() accordingly
-
由 Eric Blake 提交于
Anything generated that must end up in the tarball must either have unconditional rules for generation (remote_protocol.c) or must live in libvirt.git for the case where the person running 'make dist' has disabled the configure options that control the rebuild of the generated file (remote_protocol-structs). * src/Makefile.am (remote_protocol-structs): Add a dependency and document why it must live in git. ($(srcdir)/remote/%_protocol.c, $(srcdir)/remote/%_protocol.c): Unconditionally generate.
-
由 Richard W.M. Jones 提交于
http://lists.gnu.org/archive/html/qemu-devel/2011-05/threads.html#02162 Currently, qemu silently clips any JSON integer in the range 0x8000000000000000 - 0xffffffffffffffff (all numbers in this range will be clipped to 0x7fffffffffffffff == LLONG_MAX). To avoid this, pass these as signed 64 bit integers in the QMP request.
-
由 Matthias Bolte 提交于
In most cases this affects flags parameters that are unsigned in the public and driver API but signed in the XDR protocol. Switch the XDR protocol to unsigned for those. A counterexample is virNWFilterGetXMLDesc. Its flags parameter is signed in the public API and XDR protocol, but unsigned in the driver API.
-
由 Matthias Bolte 提交于
virNodeGetFreeMemory used unsigned long long in the public API but signed hyper in the XDR protocol. Convert the XDR protocol to use unsigned hyper. As explained by Eric before, this doesn't affect the on-the-wire protocol.
-
由 Matthias Bolte 提交于
Extend procedure annotation in the .x file for stream handling. Adds a missing remoteStreamRelease call to remoteDomainScreenshot error path.
-
由 Matthias Bolte 提交于
Several functions return values by reference parameters. This is realized by passing the members of remote_CALL_ret by reference to the called function. The position of this parameters in the function signature follows some patterns with some exceptions. This patterns and exceptions are hardcoded in the generator. Add an insert@<offset> annotation to the remote_CALL_ret struct members for functions that return lists to remove some of the hardcoded patterns and exceptions.
-
由 Matthias Bolte 提交于
This allows to remove some special case code from the generator.
-
由 Matthias Bolte 提交于
Add special case code for updating a given domain object instead of returning a new one.
-
由 Matthias Bolte 提交于
-
- 25 5月, 2011 12 次提交
-
-
由 Daniel P. Berrange 提交于
The current virDomainMigrateFinish3 method signature attempts to distinguish two types of errors, by allowing return with ret== 0, but ddomain == NULL, to indicate a failure to start the guest. This is flawed, because when ret == 0, there is no way for the virErrorPtr details to be sent back to the client. Change the signature of virDomainMigrateFinish3 so it simply returns a virDomainPtr, in the same way as virDomainMigrateFinish2 The disk locking code will protect against the only possible failure mode this doesn't account for (loosing conenctivity to libvirtd after Finish3 starts the CPUs, but before the client sees the reply for Finish3). * src/driver.h, src/libvirt.c, src/libvirt_internal.h: Change virDomainMigrateFinish3 to return a virDomainPtr instead of int * src/remote/remote_driver.c, src/remote/remote_protocol.x, daemon/remote.c, src/qemu/qemu_driver.c, src/qemu/qemu_migration.c: Update for API change
-
由 Daniel P. Berrange 提交于
When doing migration, if an error occurs in Perform, it must not be overwritten during Finish/Confirm steps. If an error occurs in Finish, it must not be overwritten in Confirm. Previous commit a9d12c24 added code to qemudDomainMigrateFinish2 to preserve the error. This is not the right place, because it is not applicable in non-p2p migration. The src/libvirt.c virDomainMigrateV2/3 methods need code to preserve errors for non-p2p migration, while the doPeer2PeerMigrate2 and doPeer2PeerMigrate3 methods contain code to preverse errors for p2p migration. Remove the bogus error preservation from qemudDomainMigrateFinish2 and qemudDomainMigrateFinish3. Fix virDomainMigrateV3 and doPeer2PeerMigrate3 so that they preserve any error hit during the Finish3 step, before invoking Confirm3. Finally if qemuMigrationFinish fails to resume the CPUs, it must preserve the error before tearing down the VM, so that VM cleanup doesn't overwrite it. * src/libvirt.c: Preserve error before invoking Confirm3 * src/qemu/qemu_driver.c: Remove bogus error preservation code in qemudDomainMigrateFinish2/qemudDomainMigrateFinish3 * src/qemu/qemu_migration.c: Preserve error before invoking Confirm3 and after resume fails in qemuMigrationFinish.
-
由 Daniel P. Berrange 提交于
* src/libvirt.c: Add further debug lines in helper APIs for migration * src/qemu/qemu_migration.c: Add debug lines for all internal migration API parameters
-
由 Daniel P. Berrange 提交于
Even when failing to start CPUs, the finish method was returning a success result. Fix this so that the QEMU process is killed off when finish fails under v3 protocol. Also rename the killOnFinish boolean to 'v3proto' to make it clearer that this is a tunable based on the migration protocol version * src/qemu/qemu_driver.c: Update for API change * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Kill VM in qemuMigrationFinish if failing to start CPUs
-
由 Daniel P. Berrange 提交于
The SPICE seamless migration process requires data to be passed back from the target host, to the source host via a cookie. The cookie includes the target host's hostname, but this was not stored, merely validated. This patch explicitly records the remote hostname after parsing the cookie, and uses it when initiating the SPICE migration * qemu/qemu_migration.c: Fix SPICE seamless migration hostname
-
由 Daniel P. Berrange 提交于
Before running perform in peer-2-peer migration, the current guest state must be recorded, so that non-live migration can currently unpause a running guest on completion. * src/qemu/qemu_migration.c: Move check for offline guest to fix non-live migration
-
由 Daniel P. Berrange 提交于
There are two pieces of information which are desirable for migration, which cannot be supplied by applications - The explicit QEMU migration URI, while using Peer2Peer migration - An override for the target VM XML This introduces two new public APIs to support these extra parameters. There is no need for extra wire protocool changes, since this is supported by the v3 migration enhancements * include/libvirt/libvirt.h.in, src/libvirt.c, src/libvirt_public.syms: Add virDomainMigrate2 and virDomainMigrateToURI2
-
由 Daniel P. Berrange 提交于
The virDomainMigratePerform3 currently has a single URI parameter whose meaning varies. It is either - A QEMU migration URI (normal migration) - A libvirtd connection URI (peer2peer migration) Unfortunately when using peer2peer migration, without also using tunnelled migration, it is possible that both URIs are required. This adds a second URI parameter to the virDomainMigratePerform3 method, to cope with this scenario. Each parameter how has a fixed meaning. NB, there is no way to actually take advantage of this yet, since virDomainMigrate/virDomainMigrateToURI do not have any way to provide the 2 separate URIs * daemon/remote.c, src/remote/remote_driver.c, src/remote/remote_protocol.x, src/remote_protocol-structs: Add the second URI parameter to perform3 message * src/driver.h, src/libvirt.c, src/libvirt_internal.h: Add the second URI parameter to Perform3 method * src/libvirt_internal.h, src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Update to handle URIs correctly
-
由 Daniel P. Berrange 提交于
This extends the v3 migration protocol such that the virDomainMigrateBegin3 and virDomainMigratePerform3 methods accept an application supplied XML config for the target VM. If the 'xmlin' parameter is NULL, then Begin3 uses the current guest XML as normal. A driver implementing the Begin3 method should either reject all non-NULL 'xmlin' parameters, or strictly validate that the app supplied XML does not change guest ABI. The Perform3 method also needed the xmlin parameter to cope with the Peer2Peer migration sequence. NB it is not yet possible to use this capability since neither of the public virDomainMigrate/virDomainMigrateToURI methods have a way to pass in XML. * daemon/remote.c, src/remote/remote_driver.c, src/remote/remote_protocol.x, src/remote_protocol-structs: Add 'remote_string xmlin' parameter to begin3/perform3 RPC messages * src/libvirt.c, src/driver.h, src/libvirt_internal.h: Add 'const char *xmlin' parameter to Begin3/Perform3 methods * src/qemu/qemu_driver.c, src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Pass xmlin parameter around migration methods
-
由 Matthias Bolte 提交于
Otherwise an attempt to use virConnectOpen or virConnectOpenAuth without auth pointer results in the driver declining the URI and libvirt falling back to the remote driver for an esx:// URI.
-
由 Jim Fehlig 提交于
The cur_vcpus member of struct libxl_domain_build_info was incorrectly initialized to the number of vcpus, when it should have been interpreted as a bitmap, where bit X corresponds to online/offline status of vcpuX. To complicate matters, cur_vcpus is an int, so only 32 vcpus can be set online. Add a check to ensure vcpus does not exceed this limit. V2: Eric Blake noted a compilation pitfal when '1 << 32' on an int. Account for vcpus == 32.
-
由 Eric Blake 提交于
We don't use the gnulib vsnprintf replacement, which means that on mingw, vsnprintf doesn't support %zn or %lln. And as it turns out, VIR_GET_VAR_STR was a rather inefficient reimplementation of virVasprintf logic. * src/util/logging.c (VIR_GET_VAR_STR): Drop. (virLogMessage): Inline a simpler version here. * src/util/virterror.c (VIR_GET_VAR_STR, virRaiseErrorFull): Likewise. Reported by Matthias Bolte.
-
- 24 5月, 2011 12 次提交
-
-
由 Michal Privoznik 提交于
Saving domain to previously created file changes also its ownership. This is certainly not what users want if some conditions are met: it is a regular, local file and dynamic_ownership is off.
-
由 Laine Stump 提交于
NB: the enum that uses the string vnet-host (now changed to vhost-net) is used in XML, but fortunately that hasn't been in an official release yet, so it can still be fixed.
-
由 Daniel P. Berrange 提交于
Since -vnc uses ':' to separate the address from the port, raw IPv6 addresses need to be escaped like [addr]:port * src/qemu/qemu_command.c: Escape raw IPv6 addresses with [] * tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args, tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml: Tweak to test Ipv6 escaping * docs/schemas/domain.rng: Allow Ipv6 addresses, or hostnames in <graphics> listen attributes
-
由 Daniel P. Berrange 提交于
The qemuMigrationConfirm method shouldn't deal with final VM cleanup, since it can be called from the peer2peer migration, which expects to still use the 'vm' object afterwards. Push the cleanup code out of qemuMigrationConfirm, into its caller, qemuDomainMigrateConfirm3 * src/qemu/qemu_driver.c: Add VM cleanup code to qemuDomainMigrateConfirm3 * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Remove job handling cleanup from qemuMigrationConfirm
-
由 Daniel P. Berrange 提交于
To allow new mandatory migration cookie data to be introduced, add support for checking supported feature flags when parsing migration cookie. * src/qemu/qemu_migration.c: Feature flag checking in migration cookie parsing
-
由 Jiri Denemark 提交于
Two additional places need initgroups call to properly work in an environment where the UID is allowed to open/create stuff through its supplementary groups.
-
由 Jiri Denemark 提交于
-
由 Michal Privoznik 提交于
Commit d7b26792 introduced a return value picking of qemu-img on '-h', but without any comment.
-
由 Alon Levy 提交于
This adds a streaming-video=filter|all|off attribute. It is used to change the behavior of video stream detection in spice, the default is filter (the default for libvirt is not to specify it - the actual default is defined in libspice-server.so). Usage: <graphics type='spice' autoport='yes'> <streaming mode='off'/> </graphics> Tested with the above and with tests/qemuxml2argvtest. Signed-off-by: NAlon Levy <alevy@redhat.com>
-
由 Stefan Berger 提交于
This patch enables filtering of gratuitous ARP packets using the following XML: <rule action='accept' direction='in' priority='425'> <arp gratuitous='true'/> </rule>
-
由 Laine Stump 提交于
This was discussed in: https://www.redhat.com/archives/libvir-list/2011-May/msg01370.html The capabilities code only sets the flag to allow use of vhost-net if kvm is detected (set if the help string contains "(qemu-kvm-" or "(kvm-"), but actually vhost-net is available in some qemu builds that don't have kvm in their name, so just checking for ",vhost=" is enough.
-
由 Doug Goldstein 提交于
When using TLS authentication and operating as the non-root user, initially attempt to use that specific user's TLS certificates before attempting to use the system wide TLS certificates. Signed-off-by: NDoug Goldstein <cardoe@cardoe.com>
-
- 23 5月, 2011 1 次提交
-
-
由 Michal Privoznik 提交于
qemu-img returns non-zero status on -h. Therefore we need to provide virCommandRun() a non-NULL exit status pointer.
-
- 21 5月, 2011 1 次提交
-
-
由 Matthias Bolte 提交于
-
- 20 5月, 2011 1 次提交
-
-
由 Richard W.M. Jones 提交于
Otherwise qemu is unable to write to it, with the error: libvir: QEMU error : internal error unable to execute QEMU command 'memsave': Could not open '/var/cache/libvirt/qemu/qemu.mem.RRNvLv'
-