- 17 5月, 2011 22 次提交
-
-
由 Eric Blake 提交于
We want to free names on failure, not on success. * src/openvz/openvz_driver.c (openvzListDefinedDomains): Use correct condition.
-
由 Cole Robinson 提交于
virRunWithHook is now unused, so we can drop it. Tested w/ raw + qcow2 volume creation and copying. v2: Use opaque data to skip hook second time around Simply command building v3: Drop explicit FindFileInPath
-
由 Cole Robinson 提交于
Some clients overwrite the error from the regex helper, or do half-baked error reporting with the exitstatus.
-
由 Cole Robinson 提交于
v2: Simplify command creation Add a missing virCommandFree Use virCommand auto-cleanup for async process
-
由 Cole Robinson 提交于
v2: Use virCommand's autocleanup v3: Don't free 'names' on success
-
由 Cole Robinson 提交于
v2: Use virCommand auto-cleanup
-
由 Matthias Bolte 提交于
virStreamNew needs to dispatch the error that virGetStream reports on failure. remoteCreateClientStream can fail due to virStreamNew or due to VIR_ALLOC. Report OOM error for VIR_ALLOC failure to report errors in all error cases. Remove OOM error reporting from remoteCreateClientStream callers.
-
由 Matthias Bolte 提交于
For virDomainDestroy and virDrvSupportsFeature.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Just true/false is good enough for it. Also use it directly from the parsed URI instead of caching it in esxPrivate.
-
由 Matthias Bolte 提交于
When the session has expired then multiple threads can race while reestablishing it. This race condition is not that critical as it requires a special usage pattern to be triggered. It can only happen when an application doesn't do API calls for quite some time (the session expires after 30 min inactivity) and then multiple threads doing simultaneous API calls and end up doing simultaneous calls to esxVI_EnsureSession.
-
由 Jiri Denemark 提交于
virsh didn't call virInitialize(), which (among other things) initializes virLastErr thread local variable. As a result of that, virsh could just segfault in virEventRegisterDefaultImpl() since that is the first call that touches (resets) virLastErr. I have no idea what lucky coincidence made this bug visible but I was able to reproduce it in 100% cases but only in one specific environment which included building in sandbox.
-
由 Matthias Bolte 提交于
Break long lines and change spacing of keyword arguments to match Python style standards better. No functional change included.
-
由 Daniel P. Berrange 提交于
* daemon/remote.c: Free mime string
-
由 Daniel P. Berrange 提交于
No new code should be using remoteDispatchOOMError() * daemon/dispatch.c, daemon/dispatch.h: Remove remoteDispatchOOMError
-
由 Matthias Bolte 提交于
No functional change included.
-
由 Matthias Bolte 提交于
Instead of specifying the type of the managed object directly specify the ServiceContent member name. This way the mapping dictionary can be removed.
-
由 Daniel P. Berrange 提交于
* daemon/remote.c: Update screenshot dispatcher to follow standard practice
-
由 Matthias Bolte 提交于
Otherwise virsh shows the interactive greeting and then silently exists instead of entering interactive mode.
-
由 Eric Blake 提交于
* src/remote/rpcgen_fix.pl: Add executable bit. * tests/oomtrace.pl: Likewise.
-
由 Eric Blake 提交于
* docs/hvsupport.pl: Add execute bit.
-
- 16 5月, 2011 18 次提交
-
-
由 Eric Blake 提交于
* .gitignore: Ignore recently added file.
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_migration.c: Add missing 'ret' initializer in qemuMigrationCookieXMLParseStr
-
由 Daniel P. Berrange 提交于
Mingw execve() has a broken signature. Disable this function until gnulib fixes the signature, since we don't really need this on Win32 anyway. * src/util/command.c: Disable virCommandExec on Win32
-
由 Daniel P. Berrange 提交于
When failing to marshall an XDR message, include the full program/version/status/proc/type info, to allow easier debugging & diagnosis of the problem. * src/remote/remote_driver.c: Improve error when marshalling fails
-
由 Daniel P. Berrange 提交于
By running the doTunnelSendAll code in a separate thread, the main thread can do qemuMigrationWaitForCompletion as with normal migration. This in turn ensures that job signals work correctly and that progress monitoring can be done * src/qemu/qemu_migration.c: Run tunnelled migration in separate thread
-
由 Daniel P. Berrange 提交于
virStreamSend already sets an error message, so don't overwrite it * src/qemu/qemu_migration.c: Remove bogus error report
-
由 Daniel P. Berrange 提交于
Cancelling the QEMU migration may cause QEMU to flush pending data on the migration socket. This may in turn block QEMU if nothing reads from the other end of the socket. Closing the socket before cancelling QEMU migration avoids this possible deadlock. * src/qemu/qemu_migration.c: Close sockets before cancelling migration on failure
-
由 Daniel P. Berrange 提交于
The 'nbytes' variable was not re-initialized to the buffer size on each iteration of the tunnelled migration loop. While saferead() will ensure a full read, except on EOF, it is clearer to use the real buffer size * src/qemu/qemu_migration.c: Always read full buffer of data
-
由 Daniel P. Berrange 提交于
The doTunnelMigrate method forgot to set the bandwidth resource restriction * src/qemu/qemu_migration.c: Set resource restriction
-
由 Daniel P. Berrange 提交于
The qemuMigrationWaitForCompletion method contains a loop which repeatedly queries QEMU to check migration progress, and also processes job signals (pause, setspeed, setbandwidth, cancel). The tunnelled migration loop does not currently support this functionality, but should. Refactor the code to allow it to be used with tunnelled migration.
-
由 Daniel P. Berrange 提交于
Implement the v3 migration protocol, which has two extra steps, 'begin' on the source host and 'confirm' on the source host. All other methods also gain both input and output cookies to allow bi-directional data passing at all stages. The QEMU peer2peer migration method gains another impl to provide the v3 migration. This finally allows migration cookies to work with tunnelled migration, which is required for Spice seamless migration & the lock manager transfer * src/qemu/qemu_driver.c: Wire up migrate v3 APIs * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Add begin & confirm methods, and peer2peer impl of v3
-
由 Daniel P. Berrange 提交于
Merge the doNonTunnelMigrate2 and doTunnelMigrate2 methods into one doPeer2PeerMigrate2 method, since they are substantially the same. With the introduction of v3 migration, this will be even more important, to avoid massive code duplication. * src/qemu/qemu_migration.c: Merge tunnel & non-tunnel migration
-
由 Daniel P. Berrange 提交于
The v2 migration protocol was accidentally missing out the finish step, when prepare succeeded, but returned an invalid URI * src/libvirt.c: Teardown VM if prepare returns invalid URI
-
由 Daniel P. Berrange 提交于
To facilitate the introduction of the v3 migration protocol, the doTunnelMigrate method is refactored into two pieces. One piece is intended to mirror the flow of virDomainMigrateVersion2, while the other is the helper for setting up sockets and processing the data. Previously socket setup would be done before the 'prepare' step, so errors could be dealt with immediately, avoiding need to shut off the destination QEMU. In the new split, socket setup is done after the 'prepare' step. This is not a serious problem, since the control flow already requires calling 'finish' to tear down the destination QEMU upon several errors. * src/qemu/qemu_migration.c:
-
由 Daniel P. Berrange 提交于
Use the graphics information from the QEMU migration cookie to issue a 'client_migrate_info' monitor command to QEMU. This causes the SPICE client to automatically reconnect to the target host when migration completes * src/qemu/qemu_migration.c: Set data for SPICE client relocation before starting migration on src * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h, src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Add new qemuMonitorGraphicsRelocate() command
-
由 Daniel P. Berrange 提交于
Extend the QEMU migration cookie structure to allow information about the destination host graphics setup to be passed by to the source host. This will enable seamless migration of any connected graphics clients * src/qemu/qemu_migration.c: Add graphics info to migration cookies * daemon/libvirtd.c: Always initialize gnutls to enable x509 cert parsing in QEMU
-
由 Daniel P. Berrange 提交于
The migration protocol has support for a 'cookie' parameter which is an opaque array of bytes as far as libvirt is concerned. Drivers may use this for passing around arbitrary extra data they might need during migration. The QEMU driver needs to do a few things: - Pass hostname/uuid to allow strict protection against localhost migration attempts - Pass SPICE/VNC server port from the target back to the source to allow seamless relocation of client sessions - Pass lock driver state from source to destination This patch introduces the basic glue for handling cookies but only includes the host/guest UUID & name. * src/libvirt_private.syms: Export virXMLParseStrHelper * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Parsing and formatting of migration cookies * src/qemu/qemu_driver.c: Pass in cookie parameters where possible * src/remote/remote_protocol.h, src/remote/remote_protocol.x: Change cookie max length to 16384 bytes
-
由 Daniel P. Berrange 提交于
The qemuMigrationPrepareTunnel method should not unlock the qemu driver, since that is the caller's job. * src/qemu/qemu_migration.c: Fix qemuMigrationPrepareTunnel unlocking of QEMU driver
-