From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c9A7j-0007xn-7e for qemu-devel@nongnu.org; Tue, 22 Nov 2016 07:24:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c9A7i-0001lQ-Da for qemu-devel@nongnu.org; Tue, 22 Nov 2016 07:24:31 -0500 From: Kevin Wolf Date: Tue, 22 Nov 2016 13:24:04 +0100 Message-Id: <1479817444-6880-10-git-send-email-kwolf@redhat.com> In-Reply-To: <1479817444-6880-1-git-send-email-kwolf@redhat.com> References: <1479817444-6880-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH v2 9/9] quorum: Clean up quorum_aio_get() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, berto@igalia.com, eblake@redhat.com, mreitz@redhat.com, qemu-devel@nongnu.org Make sure that all fields of the new QuorumAIOCB are zeroed when the function returns even without explicitly setting them. This will protect us when new fields are added, removes some explicit zero assignment and makes the code a little nicer to read. Suggested-by: Eric Blake Signed-off-by: Kevin Wolf --- block/quorum.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/block/quorum.c b/block/quorum.c index 52fa806..38c5e43 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -166,20 +166,17 @@ static QuorumAIOCB *quorum_aio_get(BlockDriverState *bs, QuorumAIOCB *acb = g_new(QuorumAIOCB, 1); int i; - acb->co = qemu_coroutine_self(); - acb->bs = bs; - acb->offset = offset; - acb->bytes = bytes; - acb->qiov = qiov; - acb->qcrs = g_new0(QuorumChildRequest, s->num_children); - acb->count = 0; - acb->success_count = 0; - acb->rewrite_count = 0; - acb->votes.compare = quorum_sha256_compare; - QLIST_INIT(&acb->votes.vote_list); - acb->is_read = false; - acb->vote_ret = 0; + *acb = (QuorumAIOCB) { + .co = qemu_coroutine_self(), + .bs = bs, + .offset = offset, + .bytes = bytes, + .qiov = qiov, + .votes.compare = quorum_sha256_compare, + .votes.vote_list = QLIST_HEAD_INITIALIZER(acb.votes.vote_list), + }; + acb->qcrs = g_new0(QuorumChildRequest, s->num_children); for (i = 0; i < s->num_children; i++) { acb->qcrs[i].buf = NULL; acb->qcrs[i].ret = 0; -- 1.8.3.1