[libvirt] [PATCH 1/6] Add new API virDomainStreamDisk[Info] to header and drivers
Kevin Wolf
kwolf at redhat.com
Fri Apr 8 16:35:16 UTC 2011
Am 08.04.2011 18:02, schrieb Stefan Hajnoczi:
> On Fri, Apr 8, 2011 at 2:31 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
>
> I have CCed Anthony and Kevin. Anthony drove the QED image streaming
> and Kevin will probably be interested in the idea of allocating raw
> images as a background activity while QEMU runs.
>
>> /*
>> * @path: fully qualified filename of the virtual disk
>> * @nregions: filled in the number of @region structs
>> * @regions: filled with a list of allocated regions
>> *
>> * Query the extents of allocated regions within the
>> * virtual disk file. The offsets in the list of regions
>> * are not guarenteed to be sorted in any explicit order.
>> */
>> int virDomainBlockGetAllocationMap(virDomainPtr dom,
>> const char *path,
>> unsigned int *nregions,
>> virDomainBlockRegionPtr *regions);
>
> QEMU can provide this with its existing .bdrv_is_allocated() function.
> Kevin, do you have any thoughts on whether this API will work well?
I'm probably just lacking context here, but what would a management tool
do with this information?
>From this one function it looks like you want to implement the image
streaming in libvirt rather than qemu? What's the reason for this? And
wouldn't you need at least a second function that actually copies data
from the source?
>> This takes care of things for running guests. It would be
>> desirable to have the same functionality available when a
>> guest is not running, via the virStorageVol APIs. Indeed,
>> this would allow access to the allocation functionality
>> for disks not explicitly associated with any VM yet.
>
> Today QEMU doesn't really cover the offline case although in the
> future it may be possible to have a qemu-img command that preallocates
> images and can be aborted.
Maybe qemu-io can be used to access the information? Again, I think I'm
lacking context, so I don't really know what the use case is.
Kevin
More information about the libvir-list
mailing list