diff options
author | Kevin Wolf <kwolf@redhat.com> | 2018-04-12 17:29:59 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2018-05-23 14:30:49 +0200 |
commit | 33e9e9bd62d9ae00880d9e12ad8a5b7d2c00e8a5 (patch) | |
tree | eacaf4579f55de26f5a3ca8c45fa0faa60a19ba3 /block/mirror.c | |
parent | a81e0a825e3b89039a427bca037112f461b95fec (diff) |
job: Create Job, JobDriver and job_create()
This is the first step towards creating an infrastructure for generic
background jobs that aren't tied to a block device. For now, Job only
stores its ID and JobDriver, the rest stays in BlockJob.
The following patches will move over more parts of BlockJob to Job if
they are meaningful outside the context of a block job.
BlockJob.driver is now redundant, but this patch leaves it around to
avoid unnecessary churn. The next patches will get rid of almost all of
its uses anyway so that it can be removed later with much less churn.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'block/mirror.c')
-rw-r--r-- | block/mirror.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/block/mirror.c b/block/mirror.c index a4197bb975..aa1d6b742e 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -913,7 +913,7 @@ static void mirror_complete(BlockJob *job, Error **errp) if (!s->synced) { error_setg(errp, "The active block job '%s' cannot be completed", - job->id); + job->job.id); return; } @@ -986,7 +986,9 @@ static void mirror_drain(BlockJob *job) } static const BlockJobDriver mirror_job_driver = { - .instance_size = sizeof(MirrorBlockJob), + .job_driver = { + .instance_size = sizeof(MirrorBlockJob), + }, .job_type = BLOCK_JOB_TYPE_MIRROR, .start = mirror_run, .complete = mirror_complete, @@ -996,7 +998,9 @@ static const BlockJobDriver mirror_job_driver = { }; static const BlockJobDriver commit_active_job_driver = { - .instance_size = sizeof(MirrorBlockJob), + .job_driver = { + .instance_size = sizeof(MirrorBlockJob), + }, .job_type = BLOCK_JOB_TYPE_COMMIT, .start = mirror_run, .complete = mirror_complete, |