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. >> >> Verbs: >> 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 <js...@redhat.com> >> --- >> 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); >> block_job_unref(job); >> } > > Kevin >