mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
mirror: Use BlockBackend for I/O
This changes the mirror block job to use the job's BlockBackend for performing its I/O. job->bs isn't used by the mirroring code any more afterwards. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
b880481579
commit
e253f4b897
2 changed files with 40 additions and 34 deletions
|
|
@ -3621,9 +3621,9 @@ void qmp_drive_mirror(const char *device, const char *target,
|
|||
has_on_target_error, on_target_error,
|
||||
has_unmap, unmap,
|
||||
&local_err);
|
||||
bdrv_unref(target_bs);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
bdrv_unref(target_bs);
|
||||
}
|
||||
out:
|
||||
aio_context_release(aio_context);
|
||||
|
|
@ -3667,7 +3667,6 @@ void qmp_blockdev_mirror(const char *device, const char *target,
|
|||
aio_context = bdrv_get_aio_context(bs);
|
||||
aio_context_acquire(aio_context);
|
||||
|
||||
bdrv_ref(target_bs);
|
||||
bdrv_set_aio_context(target_bs, aio_context);
|
||||
|
||||
blockdev_mirror_common(bs, target_bs,
|
||||
|
|
@ -3681,7 +3680,6 @@ void qmp_blockdev_mirror(const char *device, const char *target,
|
|||
&local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
bdrv_unref(target_bs);
|
||||
}
|
||||
|
||||
aio_context_release(aio_context);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue