]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
mirror: Check for bdrv_get_info result
authorFam Zheng <famz@redhat.com>
Tue, 29 Apr 2014 10:14:17 +0000 (18:14 +0800)
committerKevin Wolf <kwolf@redhat.com>
Tue, 29 Apr 2014 11:43:08 +0000 (13:43 +0200)
bdrv_get_info could fail. Add check before using the returned value.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/mirror.c

index 403714c1ea356dcb3ad32618b356b148cf834b4d..1c38aa8f7700250fb2fa4201d21b96cdac201b16 100644 (file)
@@ -339,7 +339,10 @@ static void coroutine_fn mirror_run(void *opaque)
     bdrv_get_backing_filename(s->target, backing_filename,
                               sizeof(backing_filename));
     if (backing_filename[0] && !s->target->backing_hd) {
-        bdrv_get_info(s->target, &bdi);
+        ret = bdrv_get_info(s->target, &bdi);
+        if (ret < 0) {
+            goto immediate_exit;
+        }
         if (s->granularity < bdi.cluster_size) {
             s->buf_size = MAX(s->buf_size, bdi.cluster_size);
             s->cow_bitmap = bitmap_new(length);