aboutsummaryrefslogtreecommitdiff
path: root/block/block-copy.c
diff options
context:
space:
mode:
authorEmanuele Giuseppe Esposito <eesposit@redhat.com>2021-06-24 09:20:39 +0200
committerVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-06-25 14:32:09 +0300
commitc6a3e3df3011288c2395cd5755547c91e943b10a (patch)
treec5499d1cb050292de4ea09c0183725980f423b5d /block/block-copy.c
parent55fa54a789f6e66fe9e7997429667e3e8917ffb9 (diff)
downloadqemu-c6a3e3df3011288c2395cd5755547c91e943b10a.zip
qemu-c6a3e3df3011288c2395cd5755547c91e943b10a.tar.gz
qemu-c6a3e3df3011288c2395cd5755547c91e943b10a.tar.bz2
block-copy: small refactor in block_copy_task_entry and block_copy_common
Use a local variable instead of referencing BlockCopyState through a BlockCopyCallState or BlockCopyTask every time. This is in preparation for next patches. No functional change intended. Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Message-Id: <20210624072043.180494-2-eesposit@redhat.com> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Diffstat (limited to 'block/block-copy.c')
-rw-r--r--block/block-copy.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/block/block-copy.c b/block/block-copy.c
index 020f984..a437978 100644
--- a/block/block-copy.c
+++ b/block/block-copy.c
@@ -452,14 +452,15 @@ static void block_copy_handle_copy_range_result(BlockCopyState *s,
static coroutine_fn int block_copy_task_entry(AioTask *task)
{
BlockCopyTask *t = container_of(task, BlockCopyTask, task);
+ BlockCopyState *s = t->s;
bool error_is_read = false;
bool copy_range = t->copy_range;
int ret;
- ret = block_copy_do_copy(t->s, t->offset, t->bytes, t->zeroes,
+ ret = block_copy_do_copy(s, t->offset, t->bytes, t->zeroes,
&copy_range, &error_is_read);
if (t->copy_range) {
- block_copy_handle_copy_range_result(t->s, copy_range);
+ block_copy_handle_copy_range_result(s, copy_range);
}
if (ret < 0) {
if (!t->call_state->ret) {
@@ -467,9 +468,9 @@ static coroutine_fn int block_copy_task_entry(AioTask *task)
t->call_state->error_is_read = error_is_read;
}
} else {
- progress_work_done(t->s->progress, t->bytes);
+ progress_work_done(s->progress, t->bytes);
}
- co_put_to_shres(t->s->mem, t->bytes);
+ co_put_to_shres(s->mem, t->bytes);
block_copy_task_end(t, ret);
return ret;
@@ -714,14 +715,15 @@ void block_copy_kick(BlockCopyCallState *call_state)
static int coroutine_fn block_copy_common(BlockCopyCallState *call_state)
{
int ret;
+ BlockCopyState *s = call_state->s;
- QLIST_INSERT_HEAD(&call_state->s->calls, call_state, list);
+ QLIST_INSERT_HEAD(&s->calls, call_state, list);
do {
ret = block_copy_dirty_clusters(call_state);
if (ret == 0 && !call_state->cancelled) {
- ret = block_copy_wait_one(call_state->s, call_state->offset,
+ ret = block_copy_wait_one(s, call_state->offset,
call_state->bytes);
}