[libvirt-users] virDomainBlockInfo for local volume
Shahar Havivi
shavivi at redhat.com
Mon Dec 5 10:27:00 UTC 2016
Ping
On Wed, Nov 30, 2016 at 3:13 PM, Shahar Havivi <shavivi at redhat.com> wrote:
> Hi,
>
> I am using virStorageVolGetInfo to get the volume size
> virStorageVol.download to download a
> normal file for VDSM project.
>
> I want to add support for block devices as well, I was able to see the size
> via virDomainBlockInfo and download via virDomain.blockPeek which is works
> fine for both file and block device.
>
> 1. Can I depend on virDomainBlockInfo for non block devices?
> 2. Does the virDomainBlockInfo return the correct physical size for normal
> file?
> 3. Performance wise do we have a difference between virStorageVol.download
> and virDomain.blockPeek?
>
>
> Assuming the VMs are down, this is the code I intend to use for all
> formats:
>
> vm = con.lookupByName(options.vmname)
> info = vm.blockInfo(src)
> physical = info[2]
>
> off = 0
> size = 0
> with open(dest, 'w+') as f:
> while off < physical:
> if (physical - off) < bufsize:
> size = physical - off
> else:
> size = bufsize
> buf = vm.blockPeek(src, off, size)
> f.write(buf)
> off += size
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20161205/fd926109/attachment.htm>
More information about the libvirt-users
mailing list