diff options
author | Paolo Bonzini | 2022-10-13 14:36:58 +0200 |
---|---|---|
committer | Kevin Wolf | 2022-10-27 20:14:11 +0200 |
commit | ea4b80146e4a000b7e9452390f71dca030a8a1b0 (patch) | |
tree | 1fa7c8df1e58020fbf34fcbb6f116b68aaa5e31a | |
parent | blkdebug: add missing coroutine_fn annotation for indirect-called functions (diff) | |
download | qemu-ea4b80146e4a000b7e9452390f71dca030a8a1b0.tar.gz qemu-ea4b80146e4a000b7e9452390f71dca030a8a1b0.tar.xz qemu-ea4b80146e4a000b7e9452390f71dca030a8a1b0.zip |
qcow: manually add more coroutine_fn annotations
get_cluster_offset() and decompress_cluster() are only called from
the read and write paths.
The validity of these was double-checked with Alberto Faria's static analyzer.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221013123711.620631-12-pbonzini@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r-- | block/qcow.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/block/qcow.c b/block/qcow.c index 72ed4c3321..46bbabd2e3 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -92,7 +92,8 @@ typedef struct BDRVQcowState { static QemuOptsList qcow_create_opts; -static int decompress_cluster(BlockDriverState *bs, uint64_t cluster_offset); +static int coroutine_fn decompress_cluster(BlockDriverState *bs, + uint64_t cluster_offset); static int qcow_probe(const uint8_t *buf, int buf_size, const char *filename) { @@ -349,10 +350,11 @@ static int qcow_reopen_prepare(BDRVReopenState *state, * return 0 if not allocated, 1 if *result is assigned, and negative * errno on failure. */ -static int get_cluster_offset(BlockDriverState *bs, - uint64_t offset, int allocate, - int compressed_size, - int n_start, int n_end, uint64_t *result) +static int coroutine_fn get_cluster_offset(BlockDriverState *bs, + uint64_t offset, int allocate, + int compressed_size, + int n_start, int n_end, + uint64_t *result) { BDRVQcowState *s = bs->opaque; int min_index, i, j, l1_index, l2_index, ret; @@ -583,7 +585,8 @@ static int decompress_buffer(uint8_t *out_buf, int out_buf_size, return 0; } -static int decompress_cluster(BlockDriverState *bs, uint64_t cluster_offset) +static int coroutine_fn decompress_cluster(BlockDriverState *bs, + uint64_t cluster_offset) { BDRVQcowState *s = bs->opaque; int ret, csize; |