From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgcTB-0000v7-2h for qemu-devel@nongnu.org; Wed, 13 Nov 2013 10:35:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VgcT5-0001lS-4i for qemu-devel@nongnu.org; Wed, 13 Nov 2013 10:35:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:7543) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VgcT2-0001l2-UB for qemu-devel@nongnu.org; Wed, 13 Nov 2013 10:34:57 -0500 Date: Wed, 13 Nov 2013 10:34:51 -0500 From: Jeff Cody Message-ID: <20131113153451.GB22807@localhost.localdomain> References: <1384303994-26796-1-git-send-email-famz@redhat.com> <1384303994-26796-6-git-send-email-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1384303994-26796-6-git-send-email-famz@redhat.com> Subject: Re: [Qemu-devel] [PATCH 5/5] mirror: Check for bdrv_get_info result List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: kwolf@redhat.com, gentoo.integer@gmail.com, qemu-devel@nongnu.org, stefanha@redhat.com On Wed, Nov 13, 2013 at 08:53:14AM +0800, Fam Zheng wrote: > bdrv_get_info could fail. Add check before using the returned value. > > Signed-off-by: Fam Zheng > --- > block/mirror.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block/mirror.c b/block/mirror.c > index 7b95acf..c0c321b 100644 > --- a/block/mirror.c > +++ b/block/mirror.c > @@ -320,8 +320,8 @@ 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); > - if (s->granularity < bdi.cluster_size) { > + ret = bdrv_get_info(s->target, &bdi); > + if (ret == 0 && s->granularity < bdi.cluster_size) { For ret < 0, I think we should exit on error (at least in cases where ret < 0 && ret != -ENOTSUP). > s->buf_size = MAX(s->buf_size, bdi.cluster_size); > s->cow_bitmap = bitmap_new(length); > }