diff mbox

[v22,00/25] replace QEMUOptionParameter with QemuOpts

Message ID CAERYnoa9bD1ez4pTXQk=HcAS9SbhBukHQ54qT1RNBM42JyhnBQ@mail.gmail.com
State New
Headers show

Commit Message

Chunyan Liu March 11, 2014, 3:07 a.m. UTC
2014-03-11 4:22 GMT+08:00 Stefan Hajnoczi <stefanha@gmail.com>:

> On Mon, Mar 10, 2014 at 03:31:36PM +0800, Chunyan Liu wrote:
> > This patch series is to replace QEMUOptionParameter with QemuOpts, so
> that only
> > one Qemu Option structure is kept in QEMU code.
> >
> > ---
> > Changes to v21:
> >   * update verison info in patch 2/25
> >   * others are not changed except for rebase
> >
> > Chunyan Liu (25):
> >   add def_value_str to QemuOptDesc
> >   qapi: output def_value_str when query command line options
> >   improve some functions in qemu-option.c
> >   improve assertion in qemu_opt_get functions
> >   add some QemuOpts functions for replace work
> >   add convert functions between QEMUOptionParameter to QemuOpts
> >   change block layer to support both QemuOpts and QEMUOptionParamter
> >   cow.c: replace QEMUOptionParameter with QemuOpts
> >   gluster.c: replace QEMUOptionParameter with QemuOpts
> >   iscsi.c: replace QEMUOptionParameter with QemuOpts
> >   qcow.c: replace QEMUOptionParameter with QemuOpts
> >   qcow2.c: replace QEMUOptionParameter with QemuOpts
> >   qed.c: replace QEMUOptionParameter with QemuOpts
> >   raw-posix.c: replace QEMUOptionParameter with QemuOpts
> >   raw-win32.c: replace QEMUOptionParameter with QemuOpts
> >   raw_bsd.c: replace QEMUOptionParameter with QemuOpts
> >   rbd.c: replace QEMUOptionParameter with QemuOpts
> >   sheepdog.c: replace QEMUOptionParameter with QemuOpts
> >   ssh.c: replace QEMUOptionParameter with QemuOpts
> >   vdi.c: replace QEMUOptionParameter with QemuOpts
> >   vmdk.c: replace QEMUOptionParameter with QemuOpts
> >   vpc.c: replace QEMUOptionParameter with QemuOpts
> >   vhdx.c: replace QEMUOptionParameter with QemuOpts
> >   vvfat.c: replace QEMUOptionParameter with QemuOpts
> >   cleanup QEMUOptionParameter
> >
> >  block.c                   |  96 ++++----
> >  block/cow.c               |  52 ++---
> >  block/gluster.c           |  73 +++---
> >  block/iscsi.c             |  29 ++-
> >  block/qcow.c              |  72 +++---
> >  block/qcow2.c             | 325 +++++++++++++-------------
> >  block/qed.c               | 112 ++++-----
> >  block/qed.h               |   3 +-
> >  block/raw-posix.c         |  55 ++---
> >  block/raw-win32.c         |  38 +--
> >  block/raw_bsd.c           |  25 +-
> >  block/rbd.c               |  61 +++--
> >  block/sheepdog.c          | 102 ++++----
> >  block/ssh.c               |  30 ++-
> >  block/vdi.c               |  70 +++---
> >  block/vhdx.c              |  97 ++++----
> >  block/vhdx.h              |   1 +
> >  block/vmdk.c              | 121 +++++-----
> >  block/vpc.c               |  60 ++---
> >  block/vvfat.c             |  10 +-
> >  include/block/block.h     |   7 +-
> >  include/block/block_int.h |   9 +-
> >  include/qemu/option.h     |  56 +----
> >  include/qemu/option_int.h |   4 +-
> >  qapi-schema.json          |   6 +-
> >  qemu-img.c                |  89 ++++---
> >  qmp-commands.hx           |   2 +
> >  util/qemu-config.c        |   4 +
> >  util/qemu-option.c        | 576
> ++++++++++++++++++++++------------------------
> >  29 files changed, 1060 insertions(+), 1125 deletions(-)
>
> Looks like this needs to be rebased onto qemu.git/master:
>
> qapi/string-input-visitor.c: In function ‘parse_type_size’:
> qapi/string-input-visitor.c:53:9: error: implicit declaration of function
> ‘parse_option_size’ [-Werror=implicit-function-declaration]
>          parse_option_size(name, siv->string, &val, &err);
>          ^
>

I've updated the patch series in github:
https://github.com/chunyanliu/qemu/commits/QemuOpts

updated 25/25.


> qapi/string-input-visitor.c:53:9: error: nested extern declaration of
> ‘parse_option_size’ [-Werror=nested-externs]
> cc1: all warnings being treated as errors
> make: *** [qapi/string-input-visitor.o] Error 1
> make: *** Waiting for unfinished jobs....
> qapi/opts-visitor.c: In function ‘opts_start_struct’:
> qapi/opts-visitor.c:146:31: error: assignment discards ‘const’ qualifier
> from pointer target type [-Werror]
>          ov->fake_id_opt->name = "id";
>                                ^
>

following patch squashed to 03/25:
---
 qapi/opts-visitor.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

 }
@@ -177,6 +177,8 @@ opts_end_struct(Visitor *v, Error **errp)
     }
     g_hash_table_destroy(ov->unprocessed_opts);
     ov->unprocessed_opts = NULL;
+    g_free(ov->fake_id_opt->name);
+    g_free(ov->fake_id_opt->str);
     g_free(ov->fake_id_opt);
     ov->fake_id_opt = NULL;
 }
diff mbox

Patch

diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c
index 5d830a2..e6a295a 100644
--- a/qapi/opts-visitor.c
+++ b/qapi/opts-visitor.c
@@ -143,8 +143,8 @@  opts_start_struct(Visitor *v, void **obj, const char
*kind,
     if (ov->opts_root->id != NULL) {
         ov->fake_id_opt = g_malloc0(sizeof *ov->fake_id_opt);

-        ov->fake_id_opt->name = "id";
-        ov->fake_id_opt->str = ov->opts_root->id;
+        ov->fake_id_opt->name = g_strdup("id");
+        ov->fake_id_opt->str = g_strdup(ov->opts_root->id);
         opts_visitor_insert(ov->unprocessed_opts, ov->fake_id_opt);
     }