On Thu, Feb 06, 2020 at 08:51:52AM +0100, Peter Krempa wrote: > This series fixes and improves the 'json:' pseudo-protocol parser and > implements the 'offset' and 'size' attributes and exposes them as > <slice> in the XML. > > https://bugzilla.redhat.com/show_bug.cgi?id=1791788 > > Peter Krempa (15): > virStorageSourceParseBackingJSON: Pass around original backing file > string > virStorageSourceParseBackingJSON: Move deflattening of json: URIs out > of recursion > virStorageSourceJSONDriverParser: annotate 'format' drivers > virStorageSourceParseBackingJSON: Allow 'json:' pseudo URIs without > 'file' wrapper > virStorageSourceParseBackingJSON: Prevent arbitrary nesting with > format drivers > tests: virstorage: Add test cases for "json:" pseudo-URI without > 'file' wrapper > tests: virstorage: Add test data for json specified raw image with > offset/size > util: virstoragefile: Add data structure for storing storage source > slices > qemuBlockStorageSourceGetFormatRawProps: format 'offset' and 'size' > for slice > qemuDomainValidateStorageSource: Reject unsupported slices > docs: formatdomain: Close <source> on one of disk examples > docs: Document the new <slices> sub-element of disk's <source> > conf: Implement support for <slices> of disk source > tests: qemu: Add test data for the new <slice> element > virStorageSourceParseBackingJSONRaw: Parse 'offset' and 'size' > attributes So with this patch, virt-v2v -i ova now fails with: Original error from libvirt: unsupported configuration: format slice is not supported for format 'vmdk' [code=67 int1=-1] The overlay was created (by virt-v2v) with: $ qemu-img create -q -f qcow2 -b 'json:{ "file": { "driver": "raw", "offset": 512, "size": 349405696, "file": { "driver": "file", "filename": "/var/tmp/First.ova" } } }' -o 'compat=1.1,backing_fmt=vmdk' /tmp/v2vovl.qcow2 A simple test case to use is: $ wget http://oirase.annexia.org/tmp/First.ova $ virt-v2v -i ova First.ova -o null -v -x Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top