From: Luiz Capitulino <lcapitulino@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Eric Blake <eblake@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
Ori Mamluk <omamluk@zerto.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] Block job commands in QEMU 1.2 [v2, including support for replication]
Date: Fri, 25 May 2012 13:57:49 -0300 [thread overview]
Message-ID: <20120525135749.76adfb26@doriath.home> (raw)
In-Reply-To: <4FBE3A89.8020702@redhat.com>
On Thu, 24 May 2012 15:41:29 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:
> * block-stream: I would still like to add on_error to the existing
> block-stream command, if only to ease unit testing. Concerns about the
> stability of the API can be handled by adding introspection (exporting
> the schema), which is not hard to do. The new option is an enum with
> the following possible values:
>
> 'report': The behavior is the same as in 1.1. An I/O error will
> complete the job immediately with an error code.
>
> 'ignore': An I/O error, respectively during a read or a write, will be
> ignored. For streaming, the job will complete with an error and the
> backing file will be left in place. For mirroring, the sector will be
> marked again as dirty and re-examined later.
>
> 'stop': The job will be paused, and the job iostatus (which can be
> examined with query-block-jobs) is updated.
>
> 'enospc': Behaves as 'stop' for ENOSPC errors, 'report' for others.
>
> In all cases, even for 'report', the I/O error is reported as a QMP
> event BLOCK_JOB_ERROR, with the same arguments as BLOCK_IO_ERROR.
>
> After cancelling a job, the job implementation MAY choose to treat stop
> and enospc values as report, i.e. complete the job immediately with an
> error code, as long as block_job_is_cancelled(job) returns true when the
> completion callback is called.
>
> Open problem: There could be unrecoverable errors in which the job
> will always fail as if rerror/werror were set to report (example:
> error while switching backing files). Does it make sense to fire an
> event before the point in time where such errors can happen?
You mean, you fire the event before the point the error can happen but
the operation keeps running if it doesn't fail?
If that's the case, I think that the returned error is enough for the mngt app
to decide what to do.
> * block-job-pause: A new QMP command. Takes a block device (drive),
> pauses an active background block operation on that device. This
> command returns immediately after marking the active background block
> operation for pausing. It is an error to call this command if no
> operation is in progress. The operation will pause as soon as possible
> (it won't pause if the job is being cancelled). No event is emitted
> when the operation is actually paused. Cancelling a paused job
> automatically resumes it.
Is pausing guaranteed to succeed?
prev parent reply other threads:[~2012-05-25 16:57 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
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 [this message]
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=20120525135749.76adfb26@doriath.home \
--to=lcapitulino@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=omamluk@zerto.com \
--cc=pbonzini@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).