On 2018-06-06 14:03, Dr. David Alan Gilbert wrote: > * Daniel P. Berrangé (berrange@redhat.com) wrote: >> On Wed, Jun 06, 2018 at 12:42:28PM +0100, Richard W.M. Jones wrote: >>> On Wed, Jun 06, 2018 at 12:14:07PM +0100, Dr. David Alan Gilbert wrote: >>>> The problem with having a separate file is that you either have to copy >>>> it around with the image or have an archive. If you have an archive >>>> you have to have an unpacking step which then copies, potentially a lot >>>> of data taking some reasonable amount of time. Storing a simple bit >>>> of data with the image avoids that. >>> >>> This isn't really true. For OVA (ie. tar) we don't unpack them. >>> Adding file.offset and file.size in qemu's raw driver was crucial to >>> that optimization. >> >> Though that assumes you're only using the qcow2 file in read-only mode. >> As soon as you need write access you need to unpack from the OVA so that >> the qcow2 file can grow its length when new sectors are allocated. > > And the person creating the OVA has to do that taring rather than just > take the qcow2 they've just used in the VM. Note that this again can be done efficiently. You just overwrite the beginning of the qcow2 file and move the overwritten clusters somewhere else. Max