diff mbox

arch_init: Remove unnecessary default_config_files table

Message ID 20170117180051.11958-1-ehabkost@redhat.com
State New
Headers show

Commit Message

Eduardo Habkost Jan. 17, 2017, 6 p.m. UTC
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 <ehabkost@redhat.com>
---
 include/qemu/config-file.h |  4 ----
 arch_init.c                | 27 ---------------------------
 vl.c                       | 18 ++++++++++++++----
 3 files changed, 14 insertions(+), 35 deletions(-)

Comments

Paolo Bonzini Jan. 18, 2017, 9:17 a.m. UTC | #1
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 <ehabkost@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 <pbonzini@redhat.com>

Though maybe we should just remove .conf file support completely...
who's using it?!?

Paolo
Eduardo Habkost Jan. 18, 2017, 12:52 p.m. UTC | #2
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 <ehabkost@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 <pbonzini@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.
Paolo Bonzini Jan. 18, 2017, 12:55 p.m. UTC | #3
On 18/01/2017 13:52, Eduardo Habkost wrote:
>>
>> 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.

Of course /etc/qemu.conf only (so that -nodefconfig/-nouserconfig become
no-ops).

Paolo
Eduardo Habkost Jan. 18, 2017, 12:58 p.m. UTC | #4
On Wed, Jan 18, 2017 at 01:55:21PM +0100, Paolo Bonzini wrote:
> 
> 
> On 18/01/2017 13:52, Eduardo Habkost wrote:
> >>
> >> 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.
> 
> Of course /etc/qemu.conf only (so that -nodefconfig/-nouserconfig become
> no-ops).

Agreed. Should we print a warning in 2.9 and remove it in 2.10?
Eduardo Habkost Jan. 18, 2017, 1 p.m. UTC | #5
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 <ehabkost@redhat.com>
[...]
> 
> Looks good!  Please include it yourself in your next pull request.
> 
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Applied to machine-next. Thanks!
Paolo Bonzini Jan. 18, 2017, 1:04 p.m. UTC | #6
On 18/01/2017 13:58, Eduardo Habkost wrote:
> On Wed, Jan 18, 2017 at 01:55:21PM +0100, Paolo Bonzini wrote:
>>
>>
>> On 18/01/2017 13:52, Eduardo Habkost wrote:
>>>>
>>>> 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.
>>
>> Of course /etc/qemu.conf only (so that -nodefconfig/-nouserconfig become
>> no-ops).
> 
> Agreed. Should we print a warning in 2.9 and remove it in 2.10?

I would just remove it, but that sounds like a plan too. :)

Paolo
diff mbox

Patch

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);
         }
     }