On Tue, Jun 21, 2011 at 07:36:23 -0600, Eric Blake wrote:
On 06/21/2011 07:14 AM, Stefan Hajnoczi wrote:
>> This new virDomainBlockCopy API is different. It can be used when you have a
>> disk image (no matter what kind) stored somewhere and you need to copy it
>> somewhere else. It takes two different and independent images, one currently
>> assigned to a virtual block device and a new unassigned one, copies all data
>> from the old one to the new one and reconfigures the block device to use the
>> new image. Neither of the image formats has to be even capable of backing
>> images.
>
> Right.
This sounds related to my thread on snapshot capabilities, where if the
disk is not in a format where qemu can do a live snapshot, then libvirt
needs a command to pause guest I/O, libvirt snapshots the disk, then
libvirt informs qemu that the block device has a new image.
It's all connected in some way, which is also why qemu will probably utilize
common code to provide these functions. However, since BlockCopy is not a
snapshot, it's about copying all data from one image to another qemu can do it
all internally with a single monitor command to minimize the impact on running
guest.
Jirka