On Tue, Mar 25, 2014 at 06:09:40PM +0000, Leandro Dorileo wrote: > On Fri, Mar 21, 2014 at 06:12:11PM +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: > > * Move find_desc_by_name and qemu_opt_del functions ahead in separate > > patches before later calling, so to avoid static declaration. > > * Remove some changes that not quite necessary for this patch series: > > improve qemu_opt_set, improve assert() in qemu_opt_get, > > NULL check in qemu_opt_get and qemu_opt_find. > > * improve convert functions and qemu_opts_append() functions > > * improve block layer changes to support both struct > > * other fixes according to Eric and Stefan's comments. > > > > Not added: > > * QemuOpts test suite what Eric suggests, not included in this version, > > since: > > Currently, things that changes QemuOpts original syntax only include: > > qemu_opts_del: NULL input check. > > opt->name, opt->str: from const char * to char * > > Generally, no big change to its original usage. > > > > Things that are newly added to QemuOpts are: > > qemu_opt_append function > > qemu_opt_get_*_del functions > > I think we could add tests for these functions later based on > > Leandro Dorileo's test suite patches: > > https://lists.gnu.org/archive/html/qemu-devel/2014-03/msg03282.html > > > > > > Chunyan Liu (32): > > move find_desc_by_name ahead for later calling > > add def_value_str to QemuOptDesc > > qapi: output def_value_str when query command line options > > change opt->name and opt->str from (const char *) to (char *) > > move qemu_opt_del ahead for later calling > > add qemu_opt_get_*_del functions for replace work > > add qemu_opts_print_help to replace print_option_help > > add convert functions between QEMUOptionParameter to QemuOpts > > add qemu_opts_append to repalce append_option_parameters > > check NULL input for qemu_opts_del > > qemu_opts_print: change fprintf stderr to printf > > qcow2.c: remove 'assigned' check in amend > > change block layer to support both QemuOpts and QEMUOptionParamter > > vvfat.c: handle cross_driver's create_options and create_opts > > 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 > > vhdx.c: replace QEMUOptionParameter with QemuOpts > > vmdk.c: replace QEMUOptionParameter with QemuOpts > > vpc.c: replace QEMUOptionParameter with QemuOpts > > cleanup QEMUOptionParameter > > cleanup tmp 'mallocd' member from QemuOptsList > > > The series is still breaking the build and the io tests. > > I picked some patches in the series to see if it was > supposed to work, I could not build without fixing some > stuffs (like I commented on [31/32]). > > After fixing the build stuffs I could not successfuly run > the io tests. > > Testing with all your patches applied I could also not run > the io tests, they all failed. >
I commented on your [11/32] patch about a new line in the end of qemu_opts_print() being the source of most of io tests breakeage. Fixing that we still have 073 and 082 breaking. Where 082 shows me the following: 082 [17:07:48]*** Error in `qemu-img': corrupted double-linked list: 0x00007f69209d2340 *** Regards... -- Leandro Dorileo