[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/7] jobs: canonize Error object
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH 2/7] jobs: canonize Error object |
Date: |
Wed, 22 Aug 2018 13:09:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 2018-08-17 21:04, John Snow wrote:
> Jobs presently use both an Error object in the case of the create job,
> and char strings in the case of generic errors elsewhere.
>
> Unify the two paths as just j->err, and remove the extra argument from
> job_completed. The integer error code for job_completed is kept for now
> for use by pre-emptive cancellation.
>
> Signed-off-by: John Snow <address@hidden>
> ---
> block/backup.c | 2 +-
> block/commit.c | 2 +-
> block/create.c | 5 ++---
> block/mirror.c | 2 +-
> block/stream.c | 2 +-
> include/qemu/job.h | 10 ++++------
> job-qmp.c | 5 +++--
> job.c | 19 ++++++-------------
> tests/test-bdrv-drain.c | 2 +-
> tests/test-blockjob-txn.c | 2 +-
> tests/test-blockjob.c | 2 +-
> 11 files changed, 22 insertions(+), 31 deletions(-)
So... Why does this patch come before removing the @ret parameter from
job_completed()?
[...]
> diff --git a/include/qemu/job.h b/include/qemu/job.h
> index 9cf463d228..5c92c53ef0 100644
> --- a/include/qemu/job.h
> +++ b/include/qemu/job.h
> @@ -124,12 +124,12 @@ typedef struct Job {
> /** Estimated progress_current value at the completion of the job */
> int64_t progress_total;
>
> - /** Error string for a failed job (NULL if, and only if, job->ret == 0)
> */
> - char *error;
> -
> /** ret code passed to job_completed. */
> int ret;
>
> + /** Error object for a failed job **/
> + Error *err;
> +
Is there a reason why you remove the iff relationship?
(Maybe because job_completed() still receives @ret? :-))
Max
> /** The completion function that will be called when the job completes.
> */
> BlockCompletionFunc *cb;
>
signature.asc
Description: OpenPGP digital signature
[Qemu-devel] [PATCH 7/7] jobs: remove job_defer_to_main_loop, John Snow, 2018/08/17
[Qemu-devel] [PATCH 5/7] block/mirror: utilize job_exit shim, John Snow, 2018/08/17