uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like:
[...]
File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 88, in _create_volume_from_fobj_with_size
vol.upload(stream, 0, fobj_size, 0)
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2073, in upload
if ret == -1: raise libvirtError ('virStorageVolUpload() failed', vol=self)
libvirt.libvirtError: Unable to seek /var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZDpzZXJ2ZXI6MTIuMDQ6aTM4NiAyMDEzMTAyNA== to 654696742695993344: Invalid argument
Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K".
Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for Intel architectures. To avoid diverging I think "L" is better for an SRU if we have to do it today. This may break ARM, which defaults to different signedness. I will raise this separately with upstream.
python-libvirt 0.9.8-2ubuntu17.13
uvtool cannot sync images using libvirt on Precise. This is limited to i386. The error looks something like:
[...] python2. 7/dist- packages/ uvtool/ libvirt/ __init_ _.py", line 88, in _create_ volume_ from_fobj_ with_size upload( stream, 0, fobj_size, 0) python2. 7/dist- packages/ libvirt. py", line 2073, in upload Upload( ) failed', vol=self) libvirtError: Unable to seek /var/lib/ uvtool/ libvirt/ images/ x-uvt-b64- Y29tLnVidW50dS5 jbG91ZDpzZXJ2ZX I6MTIuMDQ6aTM4N iAyMDEzMTAyNA= = to 654696742695993344: Invalid argument
File "/usr/lib/
vol.
File "/usr/lib/
if ret == -1: raise libvirtError ('virStorageVol
libvirt.
Root cause: in the libvirt source, python/generator.py maps "unsigned long long" to PyArg_ParseTuple parameter "l", instead of "L" or "K".
Upstream fix: http:// libvirt. org/git/ ?p=libvirt. git;a=commit; h=d78035d06aab7 3a76a82c525f415 80cf986cce7b
Development fix: packaged from upstream
Stable fix: a trivial backport of this fix.
Note that this ignores the signed/unsigned distinction. I think the correct fix should be "K", but upstream are using "L", which will suffice for Intel architectures. To avoid diverging I think "L" is better for an SRU if we have to do it today. This may break ARM, which defaults to different signedness. I will raise this separately with upstream.
Debdiff to follow.