diff options
Diffstat (limited to 'include/block/blockjob_int.h')
-rw-r--r-- | include/block/blockjob_int.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/block/blockjob_int.h b/include/block/blockjob_int.h index bf2b762808..38fe22d7e0 100644 --- a/include/block/blockjob_int.h +++ b/include/block/blockjob_int.h @@ -65,6 +65,10 @@ struct BlockJobDriver { * If the callback is not NULL, it will be invoked when the job has to be * synchronously cancelled or completed; it should drain BlockDriverStates * as required to ensure progress. + * + * Block jobs must use the default implementation for job_driver.drain, + * which will in turn call this callback after doing generic block job + * stuff. */ void (*drain)(BlockJob *job); }; @@ -112,6 +116,14 @@ void block_job_free(Job *job); void block_job_user_resume(Job *job); /** + * block_job_drain: + * Callback to be used for JobDriver.drain in all block jobs. Drains the main + * block node associated with the block jobs and calls BlockJobDriver.drain for + * job-specific actions. + */ +void block_job_drain(Job *job); + +/** * block_job_yield: * @job: The job that calls the function. * |