diff options
author | Fiona Ebner <f.ebner@proxmox.com> | 2025-05-30 17:11:17 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2025-07-14 15:42:13 +0200 |
commit | 60f609c1526102df35d8de8f513a80e6d3528bd8 (patch) | |
tree | 29b539f6cd3be6b3b358bce4337b7516017aa55c | |
parent | 7bb9bd52ec2b058acc1957a92ea505d8a4e12077 (diff) | |
download | qemu-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.c | 2 | ||||
-rw-r--r-- | include/qemu/job.h | 2 |
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 |