On Wed, Feb 15, 2017 at 5:20 PM, Daniel P. Berrange <berra...@redhat.com> wrote: > On Wed, Feb 15, 2017 at 03:14:19PM +0000, Stefan Hajnoczi wrote: >> On Mon, Feb 13, 2017 at 05:46:19PM +0200, Maor Lipchuk wrote: >> > I was wondering if that is possible to provide a new API that >> > estimates the size of >> > qcow2 image converted from a raw image. We could use this new API to >> > allocate the >> > size more precisely before the convert operation. >> > >> [...] >> > We think that the best way to solve this issue is to return this info >> > from qemu-img, maybe as a flag to qemu-img convert that will >> > calculate the size of the converted image without doing any writes. >> >> Sounds reasonable. qcow2 actually already does some of this calculation >> internally for image preallocation in qcow2_create2(). >> >> Let's try this syntax: >> >> $ qemu-img query-max-size -f raw -O qcow2 input.raw >> 1234678000 >> >> As John explained, it is only an estimate. But it will be a >> conservative maximum. > > This forces you to have an input file. It would be nice to be able to > get the same information by merely giving the desired capacity e.g > > $ qemu-img query-max-size -O qcow2 20G
Without a file, this will have to assume that all clusters will be allocated. Do you have a use case for not using existing file? For ovirt we need this when converting a file from one storage to another, the capabilities of the storage matter in both cases. (Adding all) Nir