LIVE BLOCK OPERATIONS
=====================

High level description of live block operations. Note these are not
supported for use with the raw format at the moment.

Note also that this document is incomplete and it currently only
covers the 'stream' operation. Other operations supported by QEMU such
as 'commit', 'mirror' and 'backup' are not described here yet. Please
refer to the qapi/block-core.json file for an overview of those.

Snapshot live merge
===================

Given a snapshot chain, described in this document in the following
format:

[A] <- [B] <- [C] <- [D] <- [E]

Where the rightmost object ([E] in the example) described is the current
image which the guest OS has write access to. To the left of it is its base
image, and so on accordingly until the leftmost image, which has no
base.

The snapshot live merge operation transforms such a chain into a
smaller one with fewer elements, such as this transformation relative
to the first example:

[A] <- [E]

Data is copied in the right direction with destination being the
rightmost image, but any other intermediate image can be specified
instead. In this example data is copied from [C] into [D], so [D] can
be backed by [B]:

[A] <- [B] <- [D] <- [E]

The operation is implemented in QEMU through image streaming facilities.

The basic idea is to execute 'block_stream virtio0' while the guest is
running. Progress can be monitored using 'info block-jobs'. When the
streaming operation completes it raises a QMP event. 'block_stream'
copies data from the backing file(s) into the active image. When finished,
it adjusts the backing file pointer.

The 'base' parameter specifies an image which data need not be
streamed from. This image will be used as the backing file for the
destination image when the operation is finished.

In the first example above, the command would be:

(qemu) block_stream virtio0 file-A.img

In order to specify a destination image different from the active
(rightmost) one we can use its node name instead.

In the second example above, the command would be:

(qemu) block_stream node-D file-B.img

Live block copy
===============

To copy an in use image to another destination in the filesystem, one
should create a live snapshot in the desired destination, then stream
into that image. Example:

(qemu) snapshot_blkdev ide0-hd0 /new-path/disk.img qcow2

(qemu) block_stream ide0-hd0


