Skip to content

Commit

Permalink
quorum: Clean up quorum_aio_get()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
kevmw committed Jan 9, 2017
1 parent a7e1590 commit 7c37f94
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions block/quorum.c
Expand Up @@ -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;
Expand Down

0 comments on commit 7c37f94

Please sign in to comment.