Re: [libvirt] [PATCH] snapshot: make quiesce a bit safer

2012-03-17 Thread Eric Blake
On 03/16/2012 02:49 PM, Eric Blake wrote: If a guest is paused, we were silently ignoring the quiesce flag, which results in unclean snapshots, contrary to the intent of the flag. Since we can't quiesce without guest agent support, we should instead fail if the guest is not running.

Re: [libvirt] [PATCH 3/3] snapshot: rudimentary qemu support for atomic disk snapshot

2012-03-17 Thread Eric Blake
On 03/16/2012 04:05 PM, Eric Blake wrote: Taking an external snapshot of just one disk is atomic, without having to pause and resume the VM. This also paves the way for later patches to interact with the new qemu 'transaction' monitor command. The various scenarios when requesting atomic

[libvirt] [PATCHv2 3/3] snapshot: rudimentary qemu support for atomic disk snapshot

2012-03-17 Thread Eric Blake
Taking an external snapshot of just one disk is atomic, without having to pause and resume the VM. This also paves the way for later patches to interact with the new qemu 'transaction' monitor command. The various scenarios when requesting atomic are: online, 1 disk, old qemu - safe, allowed by

[libvirt] [PATCHv2 4/3] snapshot: make offline qemu snapshots atomic

2012-03-17 Thread Eric Blake
Offline internal snapshots can be rolled back with just a little bit of refactoring, meaning that we are now automatically atomic. * src/qemu/qemu_domain.c (qemuDomainSnapshotForEachQcow2): Move guts... (qemuDomainSnapshotForEachQcow2Raw): ...to new helper, to allow rollbacks. *

[libvirt] [PATCH 2/2] snapshot: wire up qemu transaction command

2012-03-17 Thread Eric Blake
The hardest part about adding transactions is not using the new monitor command, but undoing the partial changes we made prior to a failed transaction. * src/qemu/qemu_driver.c (qemuDomainSnapshotCreateDiskActive): Use transaction when available. (qemuDomainSnapshotUndoSingleDiskActive): New

[libvirt] [PATCH 1/2] snapshot: add support for qemu transaction command

2012-03-17 Thread Eric Blake
QEmu 1.1 is adding a 'transaction' command to the JSON monitor. Each element of a transaction corresponds to a top-level command, with the additional guarantee that the transaction flushes all pending I/O, then guarantees that all actions will be successful as a group or that failure will roll

[libvirt] [PATCH 0/2] atomic snapshots, round 2

2012-03-17 Thread Eric Blake
Depends on round 1 v2 being applied first: https://www.redhat.com/archives/libvir-list/2012-March/msg00747.html So far, I've tested that the error handling path works when targeting the qemu of Fedora 16; I still plan to test that the success path works with a self-built qemu using the code that

[libvirt] [PATCH] Fixed NULL pointer check

2012-03-17 Thread Martin Kletzander
This patch fixes a NULL pointer check that was causing SegFault on some specific configurations. --- src/util/conf.c |5 - 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/src/util/conf.c b/src/util/conf.c index 8ad60e0..e76362c 100644 --- a/src/util/conf.c +++