From: Paolo Bonzini <pbonzini@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Federico Simoncelli <fsimonce@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>,
Eric Blake <eblake@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] Proposal for extensions of block job commands in QEMU 1.2
Date: Mon, 21 May 2012 17:18:45 +0200 [thread overview]
Message-ID: <4FBA5CD5.9090103@redhat.com> (raw)
In-Reply-To: <4FBA3E19.5020901@redhat.com>
Il 21/05/2012 15:07, Kevin Wolf ha scritto:
> Am 21.05.2012 13:02, schrieb Paolo Bonzini:
>> Il 21/05/2012 12:32, Kevin Wolf ha scritto:
>>> Am 21.05.2012 12:02, schrieb Paolo Bonzini:
>>>> Il 21/05/2012 11:29, Kevin Wolf ha scritto:
>>> If source/target is really the distinction we want to have, should the
>>> available options be specific to the job type, so that you could have
>>> src_error and dst_error for mirroring?
>>
>> Yes, that would make sense.
>
> Of course, at the same time it also makes the implementation a bit more
> complicated.
Not much, I'd have rerror/werror already split if I followed my spec.
>>> Management doesn't necessarily exist.
>>
>> Even a human sitting at a console is management. (Though I don't plan
>> HMP to expose rerror/werror; so you can assume in some sense that
>> management exists).
>
> But it's management that cares about good defaults. :-)
>
> Why not expose the options in HMP?
Honestly, because it's a pain. HMP doesn't have options with arguments,
and I don't really care if HMP users curse at me because they end
out-of-disk-space and their migration is dropped. If you're using HMP,
more than likely: 1) you can just stop the VM and copy the storage
manually; 2) even if you can't, if you get an EIO you can just stop the
VM and figure the root cause.
As far as storage migration is concerned (and quite a few other
scenarios) HMP is a nice debugging tool, nothing more.
>>>> Management may want to keep the VM stopped even for an error on the
>>>> target, as long as mirroring has finished the initial synchronization
>>>> step. The VM can perform large amounts of I/O while the job is paused,
>>>> and then completing the job can take a large amount of time.
>>>
>>> If management wants to limit the impact of this, it can decide to
>>> explicitly stop the VM when it receives the error event.
>>
>> That can be too late.
>>
>> Eric, is it a problem for libvirt if a pause or target error during
>> mirroring causes the job to exit steady state? That means that after a
>> target error the offset can go back from 100% to <100%.
>
> "too late" in what respect?
Too late to properly show the error... though actually there is no
guarantee that the VM will not clobber the error even with vm_stop, so
it doesn't make a big difference in that, too.
>> So for now I'll keep my proposed extension of query-block-jobs; later it
>> can be modified so that the target will have a name if you started the
>> mirroring with blockdev_mirror instead of drive_mirror.
>
> You mean the same QMP field is a string when the block device was added
> with blockdev_add and a dict when it was added with drive_add?
> Maintaining this sounds like a nightmare to me.
No, the same QMP field is a dict. With blockdev_add it will have a
name, and it will just be a shortcut to info block/info blockstat. With
drive_add it will have no name.
Paolo
next prev parent reply other threads:[~2012-05-21 15:19 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-18 17:08 [Qemu-devel] Proposal for extensions of block job commands in QEMU 1.2 Paolo Bonzini
2012-05-21 9:29 ` Kevin Wolf
2012-05-21 10:02 ` Paolo Bonzini
2012-05-21 10:32 ` Kevin Wolf
2012-05-21 11:02 ` Paolo Bonzini
2012-05-21 13:07 ` Kevin Wolf
2012-05-21 15:18 ` Paolo Bonzini [this message]
2012-05-21 13:13 ` Eric Blake
2012-05-21 12:20 ` Stefan Hajnoczi
2012-05-21 13:59 ` Luiz Capitulino
2012-05-21 14:09 ` Kevin Wolf
2012-05-21 14:16 ` Anthony Liguori
2012-05-21 14:17 ` Luiz Capitulino
2012-05-21 14:10 ` Anthony Liguori
2012-05-21 14:16 ` Luiz Capitulino
2012-05-21 14:19 ` Anthony Liguori
2012-05-21 14:26 ` Paolo Bonzini
2012-05-21 14:40 ` Anthony Liguori
2012-05-21 14:47 ` Paolo Bonzini
2012-05-21 15:44 ` Anthony Liguori
2012-05-21 15:55 ` Paolo Bonzini
2012-05-21 14:17 ` Kevin Wolf
2012-05-21 14:39 ` Paolo Bonzini
2012-05-24 13:41 ` [Qemu-devel] Block job commands in QEMU 1.2 [v2, including support for replication] Paolo Bonzini
2012-05-24 14:00 ` Ori Mamluk
2012-05-24 14:19 ` Paolo Bonzini
2012-05-24 15:32 ` Dor Laor
2012-05-25 8:59 ` Paolo Bonzini
2012-05-24 16:57 ` Eric Blake
2012-05-25 8:48 ` Paolo Bonzini
2012-05-25 15:02 ` Eric Blake
2012-05-25 8:28 ` Stefan Hajnoczi
2012-05-25 8:42 ` Kevin Wolf
2012-05-25 9:43 ` Stefan Hajnoczi
2012-05-25 11:17 ` Paolo Bonzini
2012-05-25 12:09 ` Stefan Hajnoczi
2012-05-25 13:25 ` Paolo Bonzini
2012-05-25 16:57 ` Luiz Capitulino
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=4FBA5CD5.9090103@redhat.com \
--to=pbonzini@redhat.com \
--cc=eblake@redhat.com \
--cc=fsimonce@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.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.