Fs_lvm with raw - Image save problems

hi
we have a 5.6 setup with fs_lvm with raw drivers

There is one particular issue we are trying to solve which is of tradeoff in time between creating an VM vs saving an image of an VM and launching VMs from a saved Image

If we use the default clone drivers on fs_lvm, it does a dd of the entire system using a seek and count driver from the image size. Then it does a qemu-img convert to write into that LV. Now the problem is that if we create a very large VM of a TB or so on SSD, this can easily take an hour…

If we skip this dd command, the VM comes up very fast. But then when we save the image, it takes another long time to save using the dd command. We did modify cpds to use qemu-img convert instead of dd to create the saved image.

This takes long but the subsequent machine create from this same image takes a very long time again

Here is my feedback

  1. We are anyways doing a dd when deleting a VM on the delete driver so from a data standpoint, we are good. Is it possible to skip this on clone without sacrificing the zero fill being done by dd ?

  2. Would an option like conv=sparse help on the dd command or something like virt-sparsify speed this up ?

Any pointers to quickly do the dd ? This will help in creating LVM in sparse formats so that we can have quick image save and create VMs from that.