Skip to content

Commit

Permalink
commit: Inline commit_populate()
Browse files Browse the repository at this point in the history
commit_populate() is a very short function and only called in a single
place. Its return value doesn't tell us whether an error happened while
reading or writing, which would be necessary for sending the right data
in the BLOCK_JOB_ERROR QMP event.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200214200812.28180-5-kwolf@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
kevmw committed Feb 18, 2020
1 parent c5507b4 commit 0c42e17
Showing 1 changed file with 6 additions and 22 deletions.
28 changes: 6 additions & 22 deletions block/commit.c
Expand Up @@ -43,27 +43,6 @@ typedef struct CommitBlockJob {
char *backing_file_str;
} CommitBlockJob;

static int coroutine_fn commit_populate(BlockBackend *bs, BlockBackend *base,
int64_t offset, uint64_t bytes,
void *buf)
{
int ret = 0;

assert(bytes < SIZE_MAX);

ret = blk_co_pread(bs, offset, bytes, buf, 0);
if (ret < 0) {
return ret;
}

ret = blk_co_pwrite(base, offset, bytes, buf, 0);
if (ret < 0) {
return ret;
}

return 0;
}

static int commit_prepare(Job *job)
{
CommitBlockJob *s = container_of(job, CommitBlockJob, common.job);
Expand Down Expand Up @@ -178,7 +157,12 @@ static int coroutine_fn commit_run(Job *job, Error **errp)
copy = (ret == 1);
trace_commit_one_iteration(s, offset, n, ret);
if (copy) {
ret = commit_populate(s->top, s->base, offset, n, buf);
assert(n < SIZE_MAX);

ret = blk_co_pread(s->top, offset, n, buf, 0);
if (ret >= 0) {
ret = blk_co_pwrite(s->base, offset, n, buf, 0);
}
}
if (ret < 0) {
BlockErrorAction action =
Expand Down

0 comments on commit 0c42e17

Please sign in to comment.