[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/50] quorum: add missing coroutine_fn annotations
From: |
Kevin Wolf |
Subject: |
[PULL 19/50] quorum: add missing coroutine_fn annotations |
Date: |
Fri, 7 Oct 2022 12:47:21 +0200 |
From: Paolo Bonzini <pbonzini@redhat.com>
Callers of coroutine_fn must be coroutine_fn themselves, or the call
must be within "if (qemu_in_coroutine())". Apply coroutine_fn to
functions where this holds.
Reviewed-by: Alberto Faria <afaria@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220922084924.201610-19-pbonzini@redhat.com>
[kwolf: Fixed up coding style]
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/quorum.c | 36 +++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/block/quorum.c b/block/quorum.c
index f33f30d36b..970f63d9f9 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -161,11 +161,10 @@ static bool quorum_64bits_compare(QuorumVoteValue *a,
QuorumVoteValue *b)
return a->l == b->l;
}
-static QuorumAIOCB *quorum_aio_get(BlockDriverState *bs,
- QEMUIOVector *qiov,
- uint64_t offset,
- uint64_t bytes,
- int flags)
+static QuorumAIOCB *coroutine_fn quorum_aio_get(BlockDriverState *bs,
+ QEMUIOVector *qiov,
+ uint64_t offset, uint64_t
bytes,
+ int flags)
{
BDRVQuorumState *s = bs->opaque;
QuorumAIOCB *acb = g_new(QuorumAIOCB, 1);
@@ -273,7 +272,7 @@ static void quorum_report_bad_versions(BDRVQuorumState *s,
}
}
-static void quorum_rewrite_entry(void *opaque)
+static void coroutine_fn quorum_rewrite_entry(void *opaque)
{
QuorumCo *co = opaque;
QuorumAIOCB *acb = co->acb;
@@ -574,7 +573,7 @@ free_exit:
quorum_free_vote_list(&acb->votes);
}
-static void read_quorum_children_entry(void *opaque)
+static void coroutine_fn read_quorum_children_entry(void *opaque)
{
QuorumCo *co = opaque;
QuorumAIOCB *acb = co->acb;
@@ -602,7 +601,7 @@ static void read_quorum_children_entry(void *opaque)
}
}
-static int read_quorum_children(QuorumAIOCB *acb)
+static int coroutine_fn read_quorum_children(QuorumAIOCB *acb)
{
BDRVQuorumState *s = acb->bs->opaque;
int i;
@@ -643,7 +642,7 @@ static int read_quorum_children(QuorumAIOCB *acb)
return acb->vote_ret;
}
-static int read_fifo_child(QuorumAIOCB *acb)
+static int coroutine_fn read_fifo_child(QuorumAIOCB *acb)
{
BDRVQuorumState *s = acb->bs->opaque;
int n, ret;
@@ -664,8 +663,10 @@ static int read_fifo_child(QuorumAIOCB *acb)
return ret;
}
-static int quorum_co_preadv(BlockDriverState *bs, int64_t offset, int64_t
bytes,
- QEMUIOVector *qiov, BdrvRequestFlags flags)
+static int coroutine_fn quorum_co_preadv(BlockDriverState *bs,
+ int64_t offset, int64_t bytes,
+ QEMUIOVector *qiov,
+ BdrvRequestFlags flags)
{
BDRVQuorumState *s = bs->opaque;
QuorumAIOCB *acb = quorum_aio_get(bs, qiov, offset, bytes, flags);
@@ -684,7 +685,7 @@ static int quorum_co_preadv(BlockDriverState *bs, int64_t
offset, int64_t bytes,
return ret;
}
-static void write_quorum_entry(void *opaque)
+static void coroutine_fn write_quorum_entry(void *opaque)
{
QuorumCo *co = opaque;
QuorumAIOCB *acb = co->acb;
@@ -715,9 +716,9 @@ static void write_quorum_entry(void *opaque)
}
}
-static int quorum_co_pwritev(BlockDriverState *bs, int64_t offset,
- int64_t bytes, QEMUIOVector *qiov,
- BdrvRequestFlags flags)
+static int coroutine_fn quorum_co_pwritev(BlockDriverState *bs, int64_t offset,
+ int64_t bytes, QEMUIOVector *qiov,
+ BdrvRequestFlags flags)
{
BDRVQuorumState *s = bs->opaque;
QuorumAIOCB *acb = quorum_aio_get(bs, qiov, offset, bytes, flags);
@@ -746,8 +747,9 @@ static int quorum_co_pwritev(BlockDriverState *bs, int64_t
offset,
return ret;
}
-static int quorum_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset,
- int64_t bytes, BdrvRequestFlags flags)
+static int coroutine_fn quorum_co_pwrite_zeroes(BlockDriverState *bs,
+ int64_t offset, int64_t bytes,
+ BdrvRequestFlags flags)
{
return quorum_co_pwritev(bs, offset, bytes, NULL,
--
2.37.3
- [PULL 32/50] aio-wait.h: introduce AIO_WAIT_WHILE_UNLOCKED, (continued)
- [PULL 32/50] aio-wait.h: introduce AIO_WAIT_WHILE_UNLOCKED, Kevin Wolf, 2022/10/07
- [PULL 17/50] curl: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 11/50] nbd: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 15/50] qcow2: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 37/50] jobs: use job locks also in the unit tests, Kevin Wolf, 2022/10/07
- [PULL 33/50] job.c: add job_lock/unlock while keeping job.h intact, Kevin Wolf, 2022/10/07
- [PULL 48/50] blockjob: remove unused functions, Kevin Wolf, 2022/10/07
- [PULL 27/50] test-coroutine: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 13/50] nvme: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 22/50] job: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 19/50] quorum: add missing coroutine_fn annotations,
Kevin Wolf <=
- [PULL 44/50] blockjob: protect iostatus field in BlockJob struct, Kevin Wolf, 2022/10/07
- [PULL 12/50] nfs: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 26/50] migration: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 05/50] qcow2: remove incorrect coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 09/50] file-posix: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 14/50] parallels: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 39/50] jobs: group together API calls under the same job lock, Kevin Wolf, 2022/10/07
- [PULL 42/50] blockjob.h: categorize fields in struct BlockJob, Kevin Wolf, 2022/10/07
- [PULL 10/50] iscsi: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07
- [PULL 18/50] qed: add missing coroutine_fn annotations, Kevin Wolf, 2022/10/07