On Tue, 7 Jun 2016 15:00:04 +0200 Paolo Bonzini <pbonz...@redhat.com> wrote:
> On 07/06/2016 14:54, Igor Mammedov wrote: > > On Tue, 7 Jun 2016 14:36:51 +0200 > > Paolo Bonzini <pbonz...@redhat.com> wrote: > > > >> On 07/06/2016 14:32, Igor Mammedov wrote: > >>>>> Could you detect using +foo together with foo=off, and -foo together > >>>>> with foo=on? Those are the really problematic cases, without them +foo > >>>>> and -foo can become synonyms for =on and =off. > >>> That's (legacy)current semantic of -cpu +-foo where it overrides any > >>> foo=x, > >>> potentially it's possible to track foo=x locally in parser > >>> and then compare with +-foo both ways. > >>> But all we can do currently is to print warning about such use case. > >>> > >>> I think Eduardo's suggestion to just warn that +-foo is obsolete for now > >>> and drop support for it in several releases is sufficient(good) enough. > >>> > >> > >> kvm-unit-tests and libvirt both use it, especially because =on and =off > >> are relatively new I think? It seems like it's really widespread. > > > > Yep, that's why it's not removed now. > > Looks like libvirt would be able to switch to foo=x syntax, > > I can take a look at kvm-unit-tests and make it use foo=x too. > > And all tutorials, and all scripts. It's really too hard. > > I'd really prefer to make an incompatible change straight in 2.7 for the > case of mixed foo=x and [+-]foo. I've tried to make a bit more extreme incompatible change starting from 2.7 machine type in RFC (i.e. allow only foo=x syntax). But Eduardo prefers to keep current +-foo, just marking it obsolete so that users would have time to adapt before support for legacy +-foo is dropped. Anyways, we can introduce "mixed foo=x and [+-]foo" check on top of this series with warning and probably switch to fail later so not break existing users without giving them time to adapt. > Paolo