From 7c37f941d028e2a1bf350ffb292684f2e1a292c7 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Tue, 22 Nov 2016 12:49:49 +0100 Subject: [PATCH] quorum: Clean up quorum_aio_get() 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 Reviewed-by: Eric Blake Reviewed-by: Alberto Garcia --- block/quorum.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/block/quorum.c b/block/quorum.c index e2443897b5..86e2072dce 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -164,20 +164,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; -- GitLab