The first patch is just some simple refactoring. See the second patch
for a description of the new virt-sparsify --tmp option.
I tested this using a loopback device as my temporary block device,
and it seems to work fine for me.
Federico .. this needs a BZ :-)
Rich.