From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46161) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b66o4-0002Ok-B6 for qemu-devel@nongnu.org; Thu, 26 May 2016 21:43:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b66o2-0003jJ-95 for qemu-devel@nongnu.org; Thu, 26 May 2016 21:43:19 -0400 Message-ID: <5747A710.1000805@cn.fujitsu.com> Date: Fri, 27 May 2016 09:46:56 +0800 From: Changlong Xie MIME-Version: 1.0 References: <1463729780-31982-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <1463729780-31982-10-git-send-email-xiecl.fnst@cn.fujitsu.com> In-Reply-To: <1463729780-31982-10-git-send-email-xiecl.fnst@cn.fujitsu.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v19 09/10] tests: add unit test case for replication List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu devel , Stefan Hajnoczi , Fam Zheng , Max Reitz , Kevin Wolf , Jeff Cody Cc: qemu block , Paolo Bonzini , John Snow , Eric Blake , Markus Armbruster , "Dr. David Alan Gilbert" , Dong Eddie , Jiang Yunhong , zhanghailiang , Gonglei , Wen Congyang On 05/20/2016 03:36 PM, Changlong Xie wrote: > +static void io_write(BlockDriverState *bs, long pattern, int64_t pattern_count, > + int64_t offset, int64_t count, bool expect_failed) > +{ > + void *pattern_buf; Should initialize as NULL to avoid below warnning: tests/test-replication.c:104:15: error: ‘pattern_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized] g_free(pattern_buf); Will fix in next version. > + int ret; > + > + /* 1. alloc pattern buffer */ > + if (pattern) { > + pattern_buf = g_malloc(pattern_count); > + memset(pattern_buf, pattern, pattern_count); > + } > + > + /* 2. do write */ > + if (pattern) { > + ret = bdrv_write(bs, offset >> 9, (uint8_t *)pattern_buf, count >> 9); > + } else { > + ret = bdrv_write_zeroes(bs, offset >> 9, count >> 9, 0); > + } > + > + /* 3. assert */ > + if (expect_failed) { > + g_assert(ret < 0); > + } else { > + g_assert(ret >= 0); > + g_free(pattern_buf); > + } > +}