qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH 0/5] blockjobs: Fix transactional race condition


From: John Snow
Subject: Re: [Qemu-block] [PATCH 0/5] blockjobs: Fix transactional race condition
Date: Thu, 29 Sep 2016 16:58:57 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0



On 09/29/2016 07:33 AM, Kevin Wolf wrote:
Am 28.09.2016 um 14:16 hat Vladimir Sementsov-Ogievskiy geschrieben:
I think jobs will need to remain "one coroutine, one job" for now,
but there's no reason why drive-backup or blockdev-backup can't
just create multiple jobs each if that's what they need to do.
(The backup job object could, in theory, just have another job
pointer to a helper job if it really became necessary.)

What's the problem with a job spawning additional coroutines internally?
Jobs already do this all the time (AIO requests are just coroutines in
disguise.)


Mostly I was just pushing back against baking in multi-coroutines per-job as a default. If you want to add them in your own extensions, e.g. MultiJob : BlockJob {
  Coroutine *extra;
}

then I'm okay with that and realize we already do exactly that. Beyond that I think complicates the job layer a little more than necessary... but maybe I am being too pre-fearful.

A job is basically just the user interface for managing a background
process, so helper jobs that are managed internally rather than by the
user don't seem to make that much sense.

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]