[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [RFC v4 11/21] blockjobs: add block_job_di
Re: [Qemu-block] [Qemu-devel] [RFC v4 11/21] blockjobs: add block_job_dismiss
Wed, 28 Feb 2018 15:35:42 -0500
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
On 02/28/2018 10:53 AM, Kevin Wolf wrote:
> Am 24.02.2018 um 00:51 hat John Snow geschrieben:
>> For jobs that have reached their CONCLUDED state, prior to having their
>> last reference put down (meaning jobs that have completed successfully,
>> unsuccessfully, or have been canceled), allow the user to dismiss the
>> job's lingering status report via block-job-dismiss.
>> This gives management APIs the chance to conclusively determine if a job
>> failed or succeeded, even if the event broadcast was missed.
>> Note that jobs do not yet linger in any such state, they are freed
>> immediately upon reaching this previously-unnamed state. such a state is
>> added immediately in the next commit.
>> Dismiss: operates on CONCLUDED jobs only.
> You want to insert an empty line here.
Don't tell me what I want.
(Seriously though, what the heck is wrong with my script? When I go to
edit this commend message there *IS* a newline here. This has been
happening a bit lately and I haven't really had the chance to catch it
happening in action yet... sorry.)
>> Signed-off-by: John Snow <address@hidden>
>> block/trace-events | 1 +
>> blockdev.c | 14 ++++++++++++++
>> blockjob.c | 34 ++++++++++++++++++++++++++++++++--
>> include/block/blockjob.h | 9 +++++++++
>> qapi/block-core.json | 24 +++++++++++++++++++++++-
>> 5 files changed, 79 insertions(+), 3 deletions(-)
>> @@ -841,6 +865,9 @@ void *block_job_create(const char *job_id, const
>> BlockJobDriver *driver,
>> block_job_txn_add_job(txn, job);
>> + /* For the expanded job control STM, grab an extra
>> + * reference for finalize() to put down */
> Do you mean dismiss()?
Sure. We'll say yes.
>> + block_job_ref(job);
>> return job;
>> @@ -859,6 +886,9 @@ void block_job_pause_all(void)
>> void block_job_early_fail(BlockJob *job)
>> + /* One for creation, one for finalize() */
> And here?
Sure. We'll say yes again.
>> + assert(job->status == BLOCK_JOB_STATUS_CREATED);
>> + block_job_unref(job);
- Re: [Qemu-block] [RFC v4 02/21] blockjobs: model single jobs as transactions, (continued)
- [Qemu-block] [RFC v4 03/21] blockjobs: add manual property, John Snow, 2018/02/23
- [Qemu-block] [RFC v4 04/21] blockjobs: add status enum, John Snow, 2018/02/23
- [Qemu-block] [RFC v4 11/21] blockjobs: add block_job_dismiss, John Snow, 2018/02/23
- [Qemu-block] [RFC v4 17/21] blockjobs: add PENDING status and event, John Snow, 2018/02/23
- Re: [Qemu-block] [Qemu-devel] [RFC v4 00/21] blockjobs: add explicit job management, no-reply, 2018/02/23
- Re: [Qemu-block] [Qemu-devel] [RFC v4 00/21] blockjobs: add explicit job management, no-reply, 2018/02/24
- Re: [Qemu-block] [Qemu-devel] [RFC v4 00/21] blockjobs: add explicit job management, no-reply, 2018/02/25