diff mbox

[v2,4/6] mirror: fix uninitialized variable delay_ns warnings

Message ID 1409137736-827-5-git-send-email-stefanha@redhat.com
State New
Headers show

Commit Message

Stefan Hajnoczi Aug. 27, 2014, 11:08 a.m. UTC
The gcc 4.1.2 compiler warns that delay_ns may be uninitialized in
mirror_iteration().

There are two break statements in the do ... while loop that skip over
the delay_ns assignment.  These are probably the cause of the warning.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/mirror.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Benoît Canet Aug. 27, 2014, 2:17 p.m. UTC | #1
The Wednesday 27 Aug 2014 à 12:08:54 (+0100), Stefan Hajnoczi wrote :
> The gcc 4.1.2 compiler warns that delay_ns may be uninitialized in
> mirror_iteration().
> 
> There are two break statements in the do ... while loop that skip over
> the delay_ns assignment.  These are probably the cause of the warning.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  block/mirror.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/block/mirror.c b/block/mirror.c
> index 5e7a166..18b18e0 100644
> --- a/block/mirror.c
> +++ b/block/mirror.c
> @@ -157,7 +157,7 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
>      BlockDriverState *source = s->common.bs;
>      int nb_sectors, sectors_per_chunk, nb_chunks;
>      int64_t end, sector_num, next_chunk, next_sector, hbitmap_next_sector;
> -    uint64_t delay_ns;
> +    uint64_t delay_ns = 0;
>      MirrorOp *op;
>  
>      s->sector_num = hbitmap_iter_next(&s->hbi);
> @@ -247,8 +247,6 @@ static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
>          next_chunk += added_chunks;
>          if (!s->synced && s->common.speed) {
>              delay_ns = ratelimit_calculate_delay(&s->limit, added_sectors);
> -        } else {
> -            delay_ns = 0;
>          }
>      } while (delay_ns == 0 && next_sector < end);
>  
> -- 
> 1.9.3
> 
> 
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
diff mbox

Patch

diff --git a/block/mirror.c b/block/mirror.c
index 5e7a166..18b18e0 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -157,7 +157,7 @@  static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
     BlockDriverState *source = s->common.bs;
     int nb_sectors, sectors_per_chunk, nb_chunks;
     int64_t end, sector_num, next_chunk, next_sector, hbitmap_next_sector;
-    uint64_t delay_ns;
+    uint64_t delay_ns = 0;
     MirrorOp *op;
 
     s->sector_num = hbitmap_iter_next(&s->hbi);
@@ -247,8 +247,6 @@  static uint64_t coroutine_fn mirror_iteration(MirrorBlockJob *s)
         next_chunk += added_chunks;
         if (!s->synced && s->common.speed) {
             delay_ns = ratelimit_calculate_delay(&s->limit, added_sectors);
-        } else {
-            delay_ns = 0;
         }
     } while (delay_ns == 0 && next_sector < end);