qapi: deprecate drive-backup
Modern way is using blockdev-add + blockdev-backup, which provides a lot more control on how target is opened. As example of drive-backup problems consider the following: User of drive-backup expects that target will be opened in the same cache and aio mode as source. Corresponding logic is in drive_backup_prepare(), where we take bs->open_flags of source. It works rather bad if source was added by blockdev-add. Assume source is qcow2 image. On blockdev-add we should specify aio and cache options for file child of qcow2 node. What happens next: drive_backup_prepare() looks at bs->open_flags of qcow2 source node. But there no BDRV_O_NOCAHE neither BDRV_O_NATIVE_AIO: BDRV_O_NOCAHE is places in bs->file->bs->open_flags, and BDRV_O_NATIVE_AIO is nowhere, as file-posix parse options and simply set s->use_linux_aio. The documentation is updated in a minimal way, so that drive-backup is noted only as a deprecated command, and blockdev-backup used in most of places. Signed-off-by:Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com>
Showing
- docs/about/deprecated.rst 11 additions, 0 deletionsdocs/about/deprecated.rst
- docs/interop/live-block-operations.rst 31 additions, 16 deletionsdocs/interop/live-block-operations.rst
- qapi/block-core.json 4 additions, 1 deletionqapi/block-core.json
- qapi/transaction.json 5 additions, 1 deletionqapi/transaction.json
Loading
Please register or sign in to comment