[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 00/33] Generic background jobs
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC PATCH 00/33] Generic background jobs |
Date: |
Tue, 24 Apr 2018 17:27:04 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 04/24/2018 10:24 AM, Kevin Wolf wrote:
> Before we can make x-blockdev-create a background job, we need to
> generalise the job infrastructure so that it can be used without any
> associated block node.
>
> This series extracts a Job object from the block job infrastructure,
> which should contain everything related to jobs that doesn't require the
> block layer to be involved.
>
> The split between BlockJob and Job is reasonably complete as of this RFC
> (though there are still some rough edges). Missing are mainly:
>
> * Some cleanups. This means mostly TODOs left for functions moved to
> job.c that should become static again, but were still called from
> blockjob.c. At this point, most of these public declarations aren't
> actually necessary any more, or very little is missing to make them
> unnecessary.
>
> * A QMP interface that can be used with non-block job. The existing
> block-job-* QMP commands will tell the user that they don't know the
> job if you pass the ID of a non-block job.
>
> * The actual conversion of x-blockdev-create to Job, as a proof of
> concept that the generalised infrastructure actually works.
I didn't review the second half as closely, but did glance through the
whole series. Overall, I like what I'm seeing; it looks like you have
indeed extracted the non-block portions into a reusable framework that
can be extended to other uses. It would also be interesting to see what
other long-running operations we can map into this scheme, such as
migration or capturing a screenshot.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [RFC PATCH 26/33] job: Add job_drain(), (continued)
- [Qemu-devel] [RFC PATCH 26/33] job: Add job_drain(), Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 28/33] job: Move job_finish_sync() to Job, Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 27/33] job: Move .complete callback to Job, Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 17/33] job: Move coroutine and related code to Job, Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 32/33] job: Add job_yield(), Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 33/33] job: Add job_dismiss(), Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 29/33] job: Switch transactions to JobTxn, Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 31/33] job: Move completion and cancellation to Job, Kevin Wolf, 2018/04/24
- [Qemu-devel] [RFC PATCH 30/33] job: Move transactions to Job, Kevin Wolf, 2018/04/24
- Re: [Qemu-devel] [RFC PATCH 00/33] Generic background jobs, no-reply, 2018/04/24
- Re: [Qemu-devel] [RFC PATCH 00/33] Generic background jobs,
Eric Blake <=