On Tue, Mar 12, 2024 at 10:01:25 +0000, Daniel P. Berrangé wrote:
On Tue, Mar 12, 2024 at 10:36:28AM +0100, Peter Krempa wrote:
> On Wed, Mar 06, 2024 at 01:20:13 +0530, Abhiram Tilak wrote:
> > Change the default to modern qcow2 as it's supported by all qemu
> > versions supported by libvirt and in fact 'qemu-img' already defaults
to
> > the new format for a long time.
> >
> > Some Unittests require changes to pass, now that version 1.1 is default.
> > Unittests like `qcow2-1.1.argv` may not be relevant anymore, but this patch
> > doesn't affect them.
>
> I've added a:
>
> Closes:
https://gitlab.com/libvirt/libvirt/-/issues/602
>
> >
> > Signed-off-by: Abhiram Tilak <atp.exp(a)gmail.com>
> > Reviewed-by: Peter Krempa <pkrempa(a)redhat.com>
> > ---
>
> And pushed the patch; thanks for fixing this.
...but this is a behavioural change of our API. Images created by
applications will now have reduced portability across platforms,
since v3 is supported by a subset of platforms that support v2,
which I would call a regression.
I remember you making this argument the last time this was discussed,
but this was so long ago that libvirt already stopped supporting any
qemu that would not support v3 qcow2 images.
Now obviously the counter argument may be that there may be other
software that implemented only v2 support and thus would break, but I'd
consider this to be a very minor corner case.
The same goes for the argument that "anyone who cares about a specific
version should use it explicitly" which goes both ways.
I try to take the compatibility promises we give to users very seriously
but depending on a default that was replaced even in qemu more than 10
years ago seems to be a bit extreme.