From: Eric Blake <eblake@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: libaiqing@huawei.com, mdroth@linux.vnet.ibm.com,
stefanha@gmail.com, qemu-devel@nongnu.org,
lcapitulino@redhat.com, vrozenfe@redhat.com,
Tomoki Sekiyama <tomoki.sekiyama@hds.com>,
pbonzini@redhat.com, seiji.aguchi@hds.com, areis@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 08/10] qemu-ga: call Windows VSS requester in fsfreeze command handler
Date: Mon, 01 Jul 2013 11:48:25 -0600 [thread overview]
Message-ID: <51D1C0E9.3080108@redhat.com> (raw)
In-Reply-To: <51D18426.5010909@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2196 bytes --]
On 07/01/2013 07:29 AM, Laszlo Ersek wrote:
> some comments below
>
> On 06/06/13 17:06, Tomoki Sekiyama wrote:
>> Support guest-fsfreeze-freeze and guest-fsfreeze-thaw commands for Windows
>> guests. When fsfreeze command is issued, it calls the VSS requester to
>> freeze filesystems and applications. On thaw command, it again tells the VSS
>> requester to thaw them.
>>
>> int64_t qmp_guest_fsfreeze_thaw(Error **err)
>> {
>> + int i;
>> +
>> + if (!vss_initialized()) {
>> + error_set(err, QERR_UNSUPPORTED);
>> + return 0;
>> + }
>> +
>> + qga_vss_fsfreeze_thaw(&i, err);
>
> I wonder how libvirt interprets a failure to thaw -- does it expect
> filesystems to remain frozen? (CC'ing Eric.)
On failure to thaw, libvirt marks the virDomainSnapshotCreateXML() API
call as failed, and logs the failure returned from the guest agent; but
beyond that, there really isn't anything further that libvirt can
attempt. Guest freeze/thaw is a best-effort attempt, and we don't
really have any clean way to recover from a non-cooperative guest (ie.
it's no different from a Linux guest managing to kill off the guest
agent daemon in the guest at the wrong time). In short, a failed
snapshot request has no guarantees on whether the guest is frozen or
thawed, and libvirt currently has no additional support to try a thaw in
isolation (although there is an intentionally unsupported 'virsh
qemu-agent-command' for attempting recovery manually).
> ... This patch made me look at ga_command_state_cleanup_all().
> Apparently the POSIX flavor thaws filesystems if qemu-ga exits before a
> thaw command over QMP; see guest_fsfreeze_cleanup() and
> ga_command_state_init(). Do you think something similar would be useful
> for the Windows flavor as well?
I agree that it is better to try and clean up a thaw on any error case
(including the error of qemu-ga exiting without seeing a QMP thaw
request), if only to minimize the chance of failure leaving the system
wedged with no chance of further recovery attempts.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-07-01 18:06 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-06 15:06 [Qemu-devel] [PATCH v4 00/10] qemu-ga: fsfreeze on Windows using VSS Tomoki Sekiyama
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 01/10] configure: Support configuring c++ compiler Tomoki Sekiyama
2013-06-18 10:17 ` Paolo Bonzini
2013-06-25 8:15 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 02/10] Add c++ keywords to QAPI helper script Tomoki Sekiyama
2013-06-25 8:16 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 03/10] checkpatch.pl: check .cpp files Tomoki Sekiyama
2013-06-25 8:17 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 04/10] Add a script to extract VSS SDK headers on POSIX system Tomoki Sekiyama
2013-06-25 8:30 ` Laszlo Ersek
2013-06-25 15:01 ` Laszlo Ersek
2013-06-25 15:01 ` Paolo Bonzini
2013-06-26 10:52 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 05/10] qemu-ga: Add configure options to specify path to Windows/VSS SDK Tomoki Sekiyama
2013-06-25 11:16 ` Laszlo Ersek
2013-06-28 10:43 ` Daniel P. Berrange
2013-06-28 10:54 ` Paolo Bonzini
2013-06-28 11:01 ` Daniel P. Berrange
2013-06-28 11:18 ` Paolo Bonzini
2013-06-28 11:30 ` Daniel P. Berrange
2013-06-28 12:18 ` Paolo Bonzini
2013-06-28 11:05 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 06/10] qemu-ga: Add Windows VSS provider to quiesce applications on fsfreeze Tomoki Sekiyama
2013-06-25 16:03 ` Laszlo Ersek
2013-06-25 16:19 ` Paolo Bonzini
2013-06-25 18:23 ` Tomoki Sekiyama
2013-06-25 18:59 ` Paolo Bonzini
2013-06-25 19:28 ` Tomoki Sekiyama
2013-06-25 19:52 ` Laszlo Ersek
2013-06-26 14:32 ` Laszlo Ersek
2013-06-26 21:27 ` Paolo Bonzini
2013-06-26 22:09 ` Tomoki Sekiyama
2013-06-27 15:01 ` Laszlo Ersek
2013-06-27 22:25 ` Tomoki Sekiyama
2013-06-28 7:05 ` Paolo Bonzini
2013-06-28 10:40 ` Laszlo Ersek
2013-06-28 10:40 ` Paolo Bonzini
2013-06-28 17:18 ` Tomoki Sekiyama
2013-06-28 10:44 ` Laszlo Ersek
2013-06-25 21:15 ` Paolo Bonzini
2013-06-25 22:31 ` Tomoki Sekiyama
2013-06-26 5:59 ` Paolo Bonzini
2013-06-26 14:13 ` Tomoki Sekiyama
2013-06-30 13:16 ` Gal Hammer
2013-07-01 18:57 ` Tomoki Sekiyama
2013-07-02 12:36 ` Gal Hammer
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 07/10] qemu-ga: Add Windows VSS requester to quiesce applications and filesystems Tomoki Sekiyama
2013-06-28 18:01 ` Laszlo Ersek
2013-06-28 18:34 ` Laszlo Ersek
2013-06-30 1:21 ` Tomoki Sekiyama
2013-07-01 8:31 ` Laszlo Ersek
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 08/10] qemu-ga: call Windows VSS requester in fsfreeze command handler Tomoki Sekiyama
2013-07-01 13:29 ` Laszlo Ersek
2013-07-01 17:48 ` Eric Blake [this message]
2013-07-01 17:59 ` Tomoki Sekiyama
2013-07-02 6:36 ` Laszlo Ersek
2013-07-02 14:09 ` Luiz Capitulino
2013-07-02 14:44 ` Laszlo Ersek
2013-07-02 15:16 ` Luiz Capitulino
2013-07-02 15:28 ` Laszlo Ersek
2013-07-02 14:58 ` Michael Roth
2013-06-06 15:06 ` [Qemu-devel] [PATCH v4 09/10] qemu-ga: install Windows VSS provider on `qemu-ga -s install' Tomoki Sekiyama
2013-07-01 14:50 ` Laszlo Ersek
2013-07-01 17:59 ` Tomoki Sekiyama
2013-06-06 15:07 ` [Qemu-devel] [PATCH v4 10/10] QMP/qemu-ga-client: make timeout longer for guest-fsfreeze-freeze command Tomoki Sekiyama
2013-06-18 10:17 ` Paolo Bonzini
2013-07-01 15:02 ` Laszlo Ersek
2013-06-10 9:26 ` [Qemu-devel] [PATCH v4 00/10] qemu-ga: fsfreeze on Windows using VSS Stefan Hajnoczi
2013-06-24 19:30 ` Tomoki Sekiyama
2013-06-24 21:13 ` Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51D1C0E9.3080108@redhat.com \
--to=eblake@redhat.com \
--cc=areis@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=lersek@redhat.com \
--cc=libaiqing@huawei.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=seiji.aguchi@hds.com \
--cc=stefanha@gmail.com \
--cc=tomoki.sekiyama@hds.com \
--cc=vrozenfe@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.