{
BlockdevBackupState *state = DO_UPCAST(BlockdevBackupState, common, common);
BlockdevBackup *backup;
- BlockBackend *blk, *target;
+ BlockBackend *blk;
+ BlockDriverState *target;
Error *local_err = NULL;
assert(common->action->type == TRANSACTION_ACTION_KIND_BLOCKDEV_BACKUP);
return;
}
- target = blk_by_name(backup->target);
+ target = bdrv_lookup_bs(backup->target, backup->target, errp);
if (!target) {
- error_setg(errp, "Device '%s' not found", backup->target);
return;
}
/* AioContext is released in .clean() */
state->aio_context = blk_get_aio_context(blk);
- if (state->aio_context != blk_get_aio_context(target)) {
+ if (state->aio_context != bdrv_get_aio_context(target)) {
state->aio_context = NULL;
error_setg(errp, "Backup between two IO threads is not implemented");
return;
#
# @device: the name of the device which should be copied.
#
-# @target: the name of the backup target device.
+# @target: the device name or node-name of the backup target node.
#
# @sync: what parts of the disk image should be copied to the destination
# (all the disk, only the sectors allocated in the topmost image, or