From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57706) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkxL6-0005cE-RR for qemu-devel@nongnu.org; Tue, 18 Dec 2012 08:36:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TkxL3-0006om-6r for qemu-devel@nongnu.org; Tue, 18 Dec 2012 08:36:08 -0500 Received: from mail-wi0-f171.google.com ([209.85.212.171]:43517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TkxL2-0006oW-Ta for qemu-devel@nongnu.org; Tue, 18 Dec 2012 08:36:05 -0500 Received: by mail-wi0-f171.google.com with SMTP id hn14so2724905wib.4 for ; Tue, 18 Dec 2012 05:36:04 -0800 (PST) Date: Tue, 18 Dec 2012 14:36:01 +0100 From: Stefan Hajnoczi Message-ID: <20121218133601.GA5893@stefanha-thinkpad.redhat.com> References: <1355726549-5980-1-git-send-email-wdongxu@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1355726549-5980-1-git-send-email-wdongxu@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH V9 0/4] replace QEMUOptionParameter with QemuOpts parser List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dong Xu Wang Cc: kwolf@redhat.com, qemu-devel@nongnu.org On Mon, Dec 17, 2012 at 02:42:25PM +0800, Dong Xu Wang wrote: > Patch 1-3 are from Luiz, added Markus's comments, discussion could be found > here: > http://lists.nongnu.org/archive/html/qemu-devel/2012-07/msg02716.html > Patch 3 was changed according Paolo's comments. > > Patch 4-5: because qemu_opts_create can not fail while id is null, so create > function qemu_opts_create_nofail and use it. > > Patch 6: create function qemu_opt_set_number, like qemu_opt_set_bool. > > Patch 7: add def_value and use it in qemu_opts_print. > > Patch 8: Create functions to pair with QEMUOptionParameter parser. > > Patch 9: Use QemuOpts parser in Block. > > Patch 10: Remove QEMUOptionParameter parser related code. > > Patches 1 - 6 have been merged into block branch, so only patches 8 to 10 > are included. > > v8->v9) > 1) add qemu_ prefix to gluster_create_opts. > 2) fix bug: bdrv_gluster_unix and bdrv_gluster_rdma should also be > converted. > > v7->v8) > 1) print "elements => accept any params" while opts_accepts_any() == > true. > 2) since def_print_str is the default value if an option isn't set, > so rename it to def_value_str. > 3) rebase to upstream source tree. > 4) add gluster.c, raw-win32.c, and rbd.c. > > v6->v7: > 1) Fix typo: enouth->enough. > 2) use osdep.h:stringify(), not redefining new macro. > 3) preserve TODO comment. > 4) fix typo: BLOCK_OPT_ENCRYPT->BLOCK_OPT_STATIC. > 5) initialize disk_type even when opts is NULL. > > v5->v6: > 1) allocate enough space in append_opts_list function. > 2) judge if opts == NULL in block layer create functions. > 3) use bdrv_create_file(filename, NULL) in qcow_create funtion. > 4) made more readable while using qemu_opt_get_number funtion. > > v4->v5: > 1) Rewrite qemu_opts_create_nofail function based on Peter Maydell's comments. > 2) Use g_strdup_printf in qemu_opt_set_number. > 3) Rewrite qemu_opts_print. > 4) .bdrv_create_options returns pointer directly. Fix a bug about "encryption". > 5) Check qemu_opt_get_number in raw-posix.c. > > v3->v4: > 1) Rebased to the newest source tree. > 2) Remove redundant "#include "block-cache.h" > 3) Other small changes. > > v2->v3: > 1) rewrite qemu_opt_set_bool and qemu_opt_set_number according Paolo's coments. > 2) split patches to make review easier. > > v1->v2: > 1) add Luiz's patches. > 2) create qemu_opt_set_number() and qemu_opts_create_nofail() functions. > 3) add QemuOptsList map to drivers. > 4) use original opts parser, not creating new ones. > 5) fix other bugs. > > Dong Xu Wang (4): > add def_print_str and use it in qemu_opts_print. > Create four opts list related functions > Use QemuOpts support in block layer > remove QEMUOptionParameter related functions and struct > > block.c | 91 ++++++------- > block.h | 4 +- > block/cow.c | 46 +++--- > block/gluster.c | 37 +++--- > block/qcow.c | 60 ++++---- > block/qcow2.c | 171 ++++++++++++----------- > block/qed.c | 86 ++++++------ > block/raw-posix.c | 65 ++++----- > block/raw-win32.c | 30 ++-- > block/raw.c | 30 +++-- > block/rbd.c | 63 ++++---- > block/sheepdog.c | 75 +++++----- > block/vdi.c | 69 +++++----- > block/vmdk.c | 74 +++++----- > block/vpc.c | 67 +++++---- > block/vvfat.c | 11 +- > block_int.h | 6 +- > qemu-img.c | 61 ++++---- > qemu-option.c | 406 +++++++++++++++-------------------------------------- > qemu-option.h | 37 +---- > 20 files changed, 641 insertions(+), 848 deletions(-) block/rbd.c: In function ‘qemu_rbd_create’: block/rbd.c:315:9: error: ‘cluster_size’ undeclared (first use in this function) block/rbd.c:315:9: note: each undeclared identifier is reported only once for each function it appears in block/rbd.c: At top level: block/rbd.c:945:5: error: unknown field ‘create_options’ specified in initializer block/rbd.c:945:5: error: initialization from incompatible pointer type [-Werror] block/rbd.c:945:5: error: (near initialization for ‘bdrv_rbd.bdrv_save_vmstate’) [-Werror] Stefan