[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 3/5] blockjob: add AioContext attached callba
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v4 3/5] blockjob: add AioContext attached callback |
Date: |
Thu, 16 Jun 2016 11:13:09 +0100 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Wed, Jun 15, 2016 at 05:05:28PM +0800, Fam Zheng wrote:
> On Tue, 06/14 19:17, Stefan Hajnoczi wrote:
> >
> > +static void block_job_attached_aio_context(AioContext *new_context,
> > + void *opaque)
> > +{
> > + BlockJob *job = opaque;
> > +
> > + if (job->driver->attached_aio_context) {
> > + job->driver->attached_aio_context(job, new_context);
> > + }
> > +
> > + block_job_resume(job);
> > +}
> > +
> > +static void block_job_detach_aio_context(void *opaque)
> > +{
> > + BlockJob *job = opaque;
> > +
> > + /* In case the job terminates during aio_poll()... */
> > + block_job_ref(job);
> > +
> > + block_job_pause(job);
> > +
> > + if (!job->paused) {
> > + /* If job is !job->busy this kicks it into the next pause point. */
> > + block_job_enter(job);
> > + }
> > + while (!job->paused && !job->completed) {
> > + aio_poll(blk_get_aio_context(job->blk), true);
>
> For the complete part, we should do it like block_job_finish_sync:
>
> while (!job->completed) {
> aio_poll(job->deferred_to_main_loop ? qemu_get_aio_context() :
> blk_get_aio_context(job->blk),
> true);
> }
Will fix in v5.
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH v4 2/5] blockjob: add pause points, (continued)
- [Qemu-devel] [PATCH v4 2/5] blockjob: add pause points, Stefan Hajnoczi, 2016/06/14
- [Qemu-devel] [PATCH v4 1/5] blockjob: move iostatus reset out of block_job_enter(), Stefan Hajnoczi, 2016/06/14
- [Qemu-devel] [PATCH v4 5/5] backup: follow AioContext change gracefully, Stefan Hajnoczi, 2016/06/14
- [Qemu-devel] [PATCH v4 3/5] blockjob: add AioContext attached callback, Stefan Hajnoczi, 2016/06/14
- Re: [Qemu-devel] [PATCH v4 0/5] blockjob: AioContext change support for mirror and backup, Jason J. Herne, 2016/06/14
- Re: [Qemu-devel] [PATCH v4 0/5] blockjob: AioContext change support for mirror and backup, Paolo Bonzini, 2016/06/15