Change qmp_blockdev_backup() to create and start a transaction instead of calling do_blockdev_backup() directly.
Signed-off-by: Sergio Lopez <s...@redhat.com> --- blockdev.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/blockdev.c b/blockdev.c index f94aaa98f0..152a0f7454 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3689,13 +3689,13 @@ XDbgBlockGraph *qmp_x_debug_query_block_graph(Error **errp) return bdrv_get_xdbg_block_graph(errp); } -void qmp_blockdev_backup(BlockdevBackup *arg, Error **errp) +void qmp_blockdev_backup(BlockdevBackup *backup, Error **errp) { - BlockJob *job; - job = do_blockdev_backup(arg, NULL, errp); - if (job) { - job_start(&job->job); - } + TransactionAction action = { + .type = TRANSACTION_ACTION_KIND_BLOCKDEV_BACKUP, + .u.blockdev_backup.data = backup, + }; + blockdev_do_action(&action, errp); } /* Parameter check and block job starting for drive mirroring. -- 2.23.0