block/commit: mark commit_abort() as GRAPH_UNLOCKED
The function commit_abort() calls bdrv_drained_begin(), which must be called with the graph unlocked. Also mark the JobDriver's abort() callback as GRAPH_UNLOCKED_PTR, because that is the callback via which commit_abort() is reached. Signed-off-by: Fiona Ebner <f.ebner@proxmox.com> Message-ID: <20250530151125.955508-41-f.ebner@proxmox.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
7bb9bd52ec
commit
60f609c152
2 changed files with 2 additions and 2 deletions
|
|
@ -68,7 +68,7 @@ static int commit_prepare(Job *job)
|
||||||
s->backing_mask_protocol);
|
s->backing_mask_protocol);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void commit_abort(Job *job)
|
static void GRAPH_UNLOCKED commit_abort(Job *job)
|
||||||
{
|
{
|
||||||
CommitBlockJob *s = container_of(job, CommitBlockJob, common.job);
|
CommitBlockJob *s = container_of(job, CommitBlockJob, common.job);
|
||||||
BlockDriverState *top_bs = blk_bs(s->top);
|
BlockDriverState *top_bs = blk_bs(s->top);
|
||||||
|
|
|
||||||
|
|
@ -283,7 +283,7 @@ struct JobDriver {
|
||||||
* All jobs will complete with a call to either .commit() or .abort() but
|
* All jobs will complete with a call to either .commit() or .abort() but
|
||||||
* never both.
|
* never both.
|
||||||
*/
|
*/
|
||||||
void (*abort)(Job *job);
|
void GRAPH_UNLOCKED_PTR (*abort)(Job *job);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If the callback is not NULL, it will be invoked after a call to either
|
* If the callback is not NULL, it will be invoked after a call to either
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue