[PATCH 1/7] qapi: Document meaning of 'ignore' BlockdevOnError for jobs

Kevin Wolf posted 7 patches 5 years, 9 months ago
Maintainers: Markus Armbruster <armbru@redhat.com>, Eric Blake <eblake@redhat.com>, John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>
[PATCH 1/7] qapi: Document meaning of 'ignore' BlockdevOnError for jobs
Posted by Kevin Wolf 5 years, 9 months ago
It is not obvious what 'ignore' actually means for block jobs: It could
be continuing the job and returning success in the end despite the error
(no block job does this). It could also mean continuing and returning
failure in the end (this is what stream does). And it can mean retrying
the failed request later (this is what backup, commit and mirror do).

This (somewhat inconsistent) behaviour was introduced and described for
stream and mirror in commit ae586d6158. backup and commit were
introduced later and use the same model as mirror.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 qapi/block-core.json | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index ef94a29686..395d205fa8 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -1164,7 +1164,10 @@
 #          for jobs, cancel the job
 #
 # @ignore: ignore the error, only report a QMP event (BLOCK_IO_ERROR
-#          or BLOCK_JOB_ERROR)
+#          or BLOCK_JOB_ERROR). The backup, mirror and commit block jobs retry
+#          the failing request later and may still complete successfully. The
+#          stream block job continues to stream and will complete with an
+#          error.
 #
 # @enospc: same as @stop on ENOSPC, same as @report otherwise.
 #
-- 
2.20.1


Re: [PATCH 1/7] qapi: Document meaning of 'ignore' BlockdevOnError for jobs
Posted by Ján Tomko 5 years, 9 months ago
On Fri, Feb 14, 2020 at 09:08:06PM +0100, Kevin Wolf wrote:
>It is not obvious what 'ignore' actually means for block jobs: It could
>be continuing the job and returning success in the end despite the error
>(no block job does this). It could also mean continuing and returning
>failure in the end (this is what stream does). And it can mean retrying
>the failed request later (this is what backup, commit and mirror do).
>
>This (somewhat inconsistent) behaviour was introduced and described for
>stream and mirror in commit ae586d6158. backup and commit were

fatal: ambiguous argument 'ae586d6158': unknown revision or path not in the working tree.

>introduced later and use the same model as mirror.
>
>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
>---
> qapi/block-core.json | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
Re: [PATCH 1/7] qapi: Document meaning of 'ignore' BlockdevOnError for jobs
Posted by Kevin Wolf 5 years, 9 months ago
Am 16.02.2020 um 22:44 hat Ján Tomko geschrieben:
> On Fri, Feb 14, 2020 at 09:08:06PM +0100, Kevin Wolf wrote:
> > It is not obvious what 'ignore' actually means for block jobs: It could
> > be continuing the job and returning success in the end despite the error
> > (no block job does this). It could also mean continuing and returning
> > failure in the end (this is what stream does). And it can mean retrying
> > the failed request later (this is what backup, commit and mirror do).
> > 
> > This (somewhat inconsistent) behaviour was introduced and described for
> > stream and mirror in commit ae586d6158. backup and commit were
> 
> fatal: ambiguous argument 'ae586d6158': unknown revision or path not in the working tree.

Oops, thanks for catching this. Not sure how this happened, but
32c81a4a6ec is the correct commit.

Kevin