diff options
author | Kevin Wolf <kwolf@redhat.com> | 2016-11-22 12:49:49 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2017-01-09 13:30:52 +0100 |
commit | 7c37f941d028e2a1bf350ffb292684f2e1a292c7 (patch) | |
tree | 55b5daa89370e0d340c702a3cce8c73326f21a4a /block/quorum.c | |
parent | a7e159025ed439011a47d56af5f34729bbb7247c (diff) | |
download | qemu-7c37f941d028e2a1bf350ffb292684f2e1a292c7.zip qemu-7c37f941d028e2a1bf350ffb292684f2e1a292c7.tar.gz qemu-7c37f941d028e2a1bf350ffb292684f2e1a292c7.tar.bz2 |
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 <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Diffstat (limited to 'block/quorum.c')
-rw-r--r-- | block/quorum.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/block/quorum.c b/block/quorum.c index e244389..86e2072 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; |