On Mon, 2019-07-01 at 09:50 +0100, Daniel P. Berrangé wrote:
On Mon, Jul 01, 2019 at 10:35:17AM +1000, David Gibson wrote:
> On Fri, Jun 14, 2019 at 01:45:24PM +0200, Andrea Bolognani wrote:
> > Unfortunately there's one major issue with your approach: even though
> > it's true that a spapr-vio address that can't be represented as a
> > 32-bit value would always have been rejected by QEMU and so the guest
> > would never have been able to start, refusing to parse the value
> > altogether would cause such a guest to disappear completely from
> > libvirt. We don't consider this to be acceptable, because we want to
> > give users a chance to fix their guests that doesn't involve poking
> > at the filesystem behind libvirt's back.
I missed this when it was first posted, but I would have said that we really
don't need to consider this scenario. This is a valid thing to worry about
*if* the previous config was actually something a person would have used in
the past. In this case though there's no way the guest could ever have
worked with value > 0xffffffff. At the very most they could have a defined
XML config that they might have tried & failed to use. We would have been
justified in just changing the parser to use a 32-bit int straight away.
In the past we've bent over backwards to keep guest configurations
from failing to parse, a good example being network interface models
that never existed in QEMU, and I believe Cole's recent changes in
that area made sure such configurations can still be parsed and only
fail to validate for this very reason.
How is this situation different? What did I miss?
--
Andrea Bolognani / Red Hat / Virtualization