From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tbnzs-0003f1-Ey for qemu-devel@nongnu.org; Fri, 23 Nov 2012 02:48:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tbnzo-0001rt-7I for qemu-devel@nongnu.org; Fri, 23 Nov 2012 02:48:24 -0500 Received: from mail-ie0-f173.google.com ([209.85.223.173]:33630) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tbnzn-0001rA-PX for qemu-devel@nongnu.org; Fri, 23 Nov 2012 02:48:20 -0500 Received: by mail-ie0-f173.google.com with SMTP id e13so2761118iej.4 for ; Thu, 22 Nov 2012 23:48:17 -0800 (PST) Sender: Dong Xu Wang From: Dong Xu Wang Date: Fri, 23 Nov 2012 15:47:35 +0800 Message-Id: <1353656865-20910-1-git-send-email-wdongxu@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH V6 00/10] replace QEMUOptionParameter with QemuOpts parser List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, Dong Xu Wang 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. 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 (10): qemu-option: opt_set(): split it up into more functions qemu-option: qemu_opts_validate(): fix duplicated code qemu-option: qemu_opt_set_bool(): fix code duplication introduce qemu_opts_create_nofail function use qemu_opts_create_nofail create new function: qemu_opt_set_number 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 | 8 +- block/cow.c | 46 +++--- block/qcow.c | 60 +++--- block/qcow2.c | 171 +++++++++--------- block/qed.c | 86 +++++----- block/raw-posix.c | 65 ++++---- block/raw.c | 30 ++-- block/sheepdog.c | 75 ++++---- block/vdi.c | 68 ++++---- block/vmdk.c | 74 ++++---- block/vpc.c | 65 ++++--- block/vvfat.c | 11 +- block_int.h | 6 +- blockdev.c | 2 +- hw/watchdog.c | 2 +- qemu-config.c | 4 +- qemu-img.c | 63 +++---- qemu-option.c | 512 ++++++++++++++++++----------------------------------- qemu-option.h | 39 +---- qemu-sockets.c | 16 +- vl.c | 12 +- 22 files changed, 658 insertions(+), 848 deletions(-)