On Sat, Mar 04, 2017 at 12:15:00AM +0200, Nir Soffer wrote: > On Sat, Mar 4, 2017 at 12:02 AM, John Snow <[email protected]> wrote: > > > > > > On 03/03/2017 04:38 PM, Nir Soffer wrote: > >> On Fri, Mar 3, 2017 at 3:51 PM, Stefan Hajnoczi <[email protected]> > >> wrote: > >>> > >>> RFCv1: > >>> * Publishing patch series with just raw support, no qcow2 yet. Please > >>> review > >>> the command-line interface and let me know if you are happy with this > >>> approach. > >>> > >>> Users and management tools sometimes need to know the size required for a > >>> new > >>> disk image so that an LVM volume, SAN LUN, etc can be allocated ahead of > >>> time. > >>> Image formats like qcow2 have non-trivial metadata that makes it hard to > >>> estimate the exact size without knowledge of file format internals. > >>> > >>> This patch series introduces a new qemu-img subcommand that calculates the > >>> required size for both image creation and conversion scenarios. > >>> > >>> The conversion scenario is: > >>> > >>> $ qemu-img max-size -f raw -O qcow2 input.img > >>> 107374184448 > >> > >> Isn't this the minimal size required to convert input.img? > >> > > > > It's an upper bound for the property being measured, which is current > > allocation size, not maximum potential size after growth. > > From my point of view, this is the minimal size you must allocate if you > want to convert the image to logical volume. > > > > >>> > >>> Here an existing image file is taken and the output includes the space > >>> required > >>> for data from the input image file. > >>> > >>> The creation scenario is: > >>> > >>> $ qemu-img max-size -O qcow2 --size 5G > >>> 196688 > >> > >> Again, this is the minimal size. > >> > >> So maybe use min-size? > >> > >> Or: > >> > >> qemu-img measure -f raw -O qcow2 input.img > >> > >> Works nicely with other verbs like create, convert, check. > >> > > > > Measure what? This is strictly less descriptive even if "max-size" isn't > > a verb. > > measure-size?
You're right, the sub-command should be a verb.
> >> Now about the return value, do we want to return both the minimum size
> >> and the maximum size?
> >>
> >> For ovirt use case, we currently calculate the maximum size by multiplying
> >> by 1.1. We use this when doing automatic extending of ovirt thin
> >> provisioned
> >> disk. We start with 1G lv, and extend it each time it becomes full,
> >> stopping
> >> when we reach virtual size * 1.1. Using more accurate calculation instead
> >> can be nicer.
> >>
> >> So we can retrun:
> >>
> >> {
> >> "min-size": 196688,
> >> "max-size": 5905580032
> >> }
> >>
> >> Anyway thanks for working on this!
> >>
> >
> > It sounds like you want something different from what was intuited by
> > Maor Lipchuck. There are two things to estimate:
> >
> > (A) An estimate of the possible size of an image after conversion to a
> > different format, and
> > (B) An estimate of the possible size after full allocation.
> >
> > I got the sense that Maor was asking for (A), but perhaps I am wrong
> > about that. However, both are "maximums" in different senses.
>
> Both are minimum when you have to allocate the space.
>
> Maor ask about A because he is working on fixing allocation when
> converting existing files, but we also have other use cases like B.
Daniel Berrange is also interested in the size of a fully populated
image file. I'll expand the patch series to report both sizes.
Stefan
signature.asc
Description: PGP signature
