On Wed, Jan 18, 2017 at 10:17:17AM +0100, Paolo Bonzini wrote: > > > On 17/01/2017 19:00, Eduardo Habkost wrote: > > The existing default_config_files table in arch_init.c has a > > single entry, making it completely unnecessary. The whole code > > can be replaced by a single qemu_read_config_file() call in vl.c. > > > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > > --- > > include/qemu/config-file.h | 4 ---- > > arch_init.c | 27 --------------------------- > > vl.c | 18 ++++++++++++++---- > > 3 files changed, 14 insertions(+), 35 deletions(-) > > > > diff --git a/include/qemu/config-file.h b/include/qemu/config-file.h > > index 8d4b2b6d94..c80d5c8a33 100644 > > --- a/include/qemu/config-file.h > > +++ b/include/qemu/config-file.h > > @@ -23,8 +23,4 @@ int qemu_read_config_file(const char *filename); > > void qemu_config_parse_qdict(QDict *options, QemuOptsList **lists, > > Error **errp); > > > > -/* Read default QEMU config files > > - */ > > -int qemu_read_default_config_files(bool userconfig); > > - > > #endif /* QEMU_CONFIG_FILE_H */ > > diff --git a/arch_init.c b/arch_init.c > > index 5cc58b2c35..e9b6d62d18 100644 > > --- a/arch_init.c > > +++ b/arch_init.c > > @@ -84,33 +84,6 @@ int graphic_depth = 32; > > > > const uint32_t arch_type = QEMU_ARCH; > > > > -static struct defconfig_file { > > - const char *filename; > > - /* Indicates it is an user config file (disabled by -no-user-config) */ > > - bool userconfig; > > -} default_config_files[] = { > > - { CONFIG_QEMU_CONFDIR "/qemu.conf", true }, > > - { NULL }, /* end of list */ > > -}; > > - > > -int qemu_read_default_config_files(bool userconfig) > > -{ > > - int ret; > > - struct defconfig_file *f; > > - > > - for (f = default_config_files; f->filename; f++) { > > - if (!userconfig && f->userconfig) { > > - continue; > > - } > > - ret = qemu_read_config_file(f->filename); > > - if (ret < 0 && ret != -ENOENT) { > > - return ret; > > - } > > - } > > - > > - return 0; > > -} > > - > > struct soundhw { > > const char *name; > > const char *descr; > > diff --git a/vl.c b/vl.c > > index c643d3ff3a..b563f9b924 100644 > > --- a/vl.c > > +++ b/vl.c > > @@ -2990,6 +2990,18 @@ static int global_init_func(void *opaque, QemuOpts > > *opts, Error **errp) > > return 0; > > } > > > > +static int qemu_read_default_config_file(void) > > +{ > > + int ret; > > + > > + ret = qemu_read_config_file(CONFIG_QEMU_CONFDIR "/qemu.conf"); > > + if (ret < 0 && ret != -ENOENT) { > > + return ret; > > + } > > + > > + return 0; > > +} > > + > > int main(int argc, char **argv, char **envp) > > { > > int i; > > @@ -3117,10 +3129,8 @@ int main(int argc, char **argv, char **envp) > > } > > } > > > > - if (defconfig) { > > - int ret; > > - ret = qemu_read_default_config_files(userconfig); > > - if (ret < 0) { > > + if (defconfig && userconfig) { > > + if (qemu_read_default_config_file() < 0) { > > exit(1); > > } > > } > > > > Looks good! Please include it yourself in your next pull request. > > Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> > > Though maybe we should just remove .conf file support completely... > who's using it?!?
You mean removing /etc/qemu.conf, or removing -readconfig completely? The former doesn't seem to be used often. The latter looks very useful for people trying to write scripts around QEMU and to avoid command-line length limits, so I will be surprised if nobody is using it. -- Eduardo