On Tue, 24 Sep 2024 16:05, marcandre.lureau@redhat.com wrote:
>From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
>../block/mirror.c:404:5: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialized]
>../block/mirror.c:895:12: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialized]
>../block/mirror.c:578:12: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialized]
>
>Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>---
> block/mirror.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/block/mirror.c b/block/mirror.c
>index 54e3a7ea9d..fd55a580fb 100644
>--- a/block/mirror.c
>+++ b/block/mirror.c
>@@ -349,7 +349,7 @@ static void coroutine_fn mirror_co_read(void *opaque)
> MirrorOp *op = opaque;
> MirrorBlockJob *s = op->s;
> int nb_chunks;
>- uint64_t ret;
>+ uint64_t ret = -1;
This doesn't look right, `ret` should be int. It receives the return
result of bdrv_co_preadv() which is int and is passed as an int argument
to mirror_read_complete().
Not related to this patch obviously. But since you're touching this code
maybe we could include this small cleanup?
> uint64_t max_bytes;
>
> max_bytes = s->granularity * s->max_iov;
>@@ -565,7 +565,7 @@ static void coroutine_fn GRAPH_UNLOCKED mirror_iteration(MirrorBlockJob *s)
>
> bitmap_set(s->in_flight_bitmap, offset / s->granularity, nb_chunks);
> while (nb_chunks > 0 && offset < s->bdev_length) {
>- int ret;
>+ int ret = -1;
> int64_t io_bytes;
> int64_t io_bytes_acct;
> MirrorMethod mirror_method = MIRROR_METHOD_COPY;
>@@ -841,7 +841,7 @@ static int coroutine_fn GRAPH_UNLOCKED mirror_dirty_init(MirrorBlockJob *s)
> int64_t offset;
> BlockDriverState *bs;
> BlockDriverState *target_bs = blk_bs(s->target);
>- int ret;
>+ int ret = -1;
> int64_t count;
>
> bdrv_graph_co_rdlock();
>--
>2.45.2.827.g557ae147e6
>
>