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 <js...@redhat.com> > --- > 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