mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
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>
This commit is contained in:
parent
24d6cc1fa1
commit
1084159b31
4 changed files with 51 additions and 18 deletions
|
@ -239,6 +239,17 @@ single ``bitmap``, the new ``block-export-add`` uses a list of ``bitmaps``.
|
|||
Member ``values`` in return value elements with meta-type ``enum`` is
|
||||
deprecated. Use ``members`` instead.
|
||||
|
||||
``drive-backup`` (since 6.2)
|
||||
''''''''''''''''''''''''''''
|
||||
|
||||
Use ``blockdev-backup`` in combination with ``blockdev-add`` instead.
|
||||
This change primarily separates the creation/opening process of the backup
|
||||
target with explicit, separate steps. ``blockdev-backup`` uses mostly the
|
||||
same arguments as ``drive-backup``, except the ``format`` and ``mode``
|
||||
options are removed in favor of using explicit ``blockdev-create`` and
|
||||
``blockdev-add`` calls. See :doc:`/interop/live-block-operations` for
|
||||
details.
|
||||
|
||||
System accelerators
|
||||
-------------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue