Thomas Huth <th...@redhat.com> writes: > The file "qemu-options.h", "qemu-options.hx" and "qemu-options-wrapper.h" > in the main directory are currently without maintainer according to our > get_maintainers.pl script. Considering that the command line options are > a public interface and thus quite important, this is quite a bad state. > So I'd like to suggest to add these files to the "Command line option > argument parsing" section now. > > And since I'm interested in the command line interface of QEMU, add > myself as reviewer here. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > MAINTAINERS | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index e187b1f..6aa19dc 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1413,7 +1413,9 @@ F: chardev/baum.c > > Command line option argument parsing > M: Markus Armbruster <arm...@redhat.com> > +R: Thomas Huth <th...@redhat.com> > S: Supported > +F: qemu-options* > F: include/qemu/option.h > F: tests/test-keyval.c > F: tests/test-qemu-opts.c
CLI is like QMP in that there's infrastructure, interface and implementation. QMP infrastructure is MAINTAINERS sections QMP and QAPI. These are proper subsystems, with clear boundaries. Its maintainers get copied on relatively few patches. QMP infrastructure doesn't own the actual commands[1], subsystems do. For instance, the block subsystem owns commands dealing with block devices. The QMP interface is specified in the QAPI schema. Again, QMP infrastructure doesn't own it, subsystems do. However, to maintain some measure of cohesion, we co-maintain the interface: MAINTAINERS section QAPI schema covers the complete schema, and subsystems cover individual modules of the schema[2]. I think a similar arrangement make sense for CLI. We'll get it for free with CLI QAPIfication, but that'll take time. Your patch does what is possible with a monolithic interface definition: it dumps it all on one maintainer: me. I'm struggling to keep up with the QAPI schema, I'm not sure I can take more. Note that "Command line option argument parsing" is phrased carefully: it's not "CLI", not even "CLI parsing". qemu-options* does not fit there. Two solutions: widen the section so it fits better, create a new section. The latter would be closer to how we do QMP. What do you think? [1] Although QMP's qmp.c serves as a kind of dumping ground. [2] Although misc.json serves as a kind of dumping ground.