aboutsummaryrefslogtreecommitdiff
path: root/block/quorum.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-11-22 12:49:49 +0100
committerKevin Wolf <kwolf@redhat.com>2017-01-09 13:30:52 +0100
commit7c37f941d028e2a1bf350ffb292684f2e1a292c7 (patch)
tree55b5daa89370e0d340c702a3cce8c73326f21a4a /block/quorum.c
parenta7e159025ed439011a47d56af5f34729bbb7247c (diff)
downloadqemu-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.c23
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;