[cc: Eric yet again :)] Paolo Bonzini <pbonz...@redhat.com> writes:
> Il 17/03/2014 09:23, Markus Armbruster ha scritto: >> > This patch makes all names in option table to match with actual >> > command-line spelling, it will be helpful when we search in option >> > tables. >> >> As discussed in [*], the QemuOptsList member name values are ABI: >> changing them can break existing -readconfig configuration files. If we >> decide breaking ABI is okay here (big if!), we need to document it >> prominently in the commit message. > > I think in some (rare) cases breaking the rule is okay. For example, > the pending conversion of "-m" to QemuOpts uses "memory". Breaking naming consistency rules is one thing, breaking ABI an entirely different one. While I'm not overly scared of the ABI change bugaboo, I do insist on considering the implications, and on proper documentation. > However, I don't think adding "-opts" is a good thing to do. Which > one is most readable? > > [m] > size = 128M > max = 512M > > [memory] > size = 128M > max = 512M > > [memory-opts] > size = 128M > max = 512M That's a no-brainer :) I'm all for naming configuration file sections sensibly. While I value consistency between section names and command line options, I agree with you that having sensible section names trumps consistency with the command line. In this case, consistency with command line could easily be preserved by making -m sugar for --memory. I doubt changing existing section names to make them prettier or more consistent with the command is worth the ABI breakage. Any inconsistent or ugly names that haven't been released yet should be fixed right away, of course. This patch changes: from to introduced in acpi acpitable 0c764a9 v1.5.0 boot-opts boot 3d3b830 v1.0 smp-opts smp 12b7f57 v1.6.0 All three have calcified into ABI already. > I'm for including this patch in 2.0. Not without explaining the ABI breakage in the commit message. We should also make sure to cover it in the release notes[*]. Moreover, if exceptions from the rule "QemuOptsList name must match the name of the (non-sugared) command line option using it" are or will be permissible, then Amos's comment on QemuOptsList member name needs to be clarified. [*] Release note material is being collected at http://wiki.qemu.org/ChangeLog/2.0