aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFiona Ebner <f.ebner@proxmox.com>2025-05-30 17:11:17 +0200
committerKevin Wolf <kwolf@redhat.com>2025-07-14 15:42:13 +0200
commit60f609c1526102df35d8de8f513a80e6d3528bd8 (patch)
tree29b539f6cd3be6b3b358bce4337b7516017aa55c
parent7bb9bd52ec2b058acc1957a92ea505d8a4e12077 (diff)
downloadqemu-60f609c1526102df35d8de8f513a80e6d3528bd8.zip
qemu-60f609c1526102df35d8de8f513a80e6d3528bd8.tar.gz
qemu-60f609c1526102df35d8de8f513a80e6d3528bd8.tar.bz2
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>
-rw-r--r--block/commit.c2
-rw-r--r--include/qemu/job.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/block/commit.c b/block/commit.c
index 7496cf7..0d9e1a1 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -68,7 +68,7 @@ static int commit_prepare(Job *job)
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);
BlockDriverState *top_bs = blk_bs(s->top);
diff --git a/include/qemu/job.h b/include/qemu/job.h
index bb8ee76..ead3157 100644
--- a/include/qemu/job.h
+++ b/include/qemu/job.h
@@ -283,7 +283,7 @@ struct JobDriver {
* All jobs will complete with a call to either .commit() or .abort() but
* 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