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

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

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

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

[A] -> [B] -> [C] -> [D]

Where the rightmost object ([D] 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] -> [D]

Currently only forward merge with target being the active image is
supported, that is, data copy is performed in the right direction with
destination being the rightmost image.

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 active image when the
operation is finished.

In the example above, the command would be:

(qemu) block_stream virtio0 A


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


