Message ID | b6475adbf38e04b37116bc3b404486510babdc71.1386049636.git.peter.crosthwaite@xilinx.com |
---|---|
State | New |
Headers | show |
Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes: > This is a boiler-plate _nofail variant of qemu_opts_create. Remove and > use error_abort in call sites. > > A null argument needs to be added for the id field in affected callsites > due to inconsistency between the normal and no_fail variants. Two arguments, actually, NULL id and zero fail_if_exists: QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) { QemuOpts *opts; Error *errp = NULL; opts = qemu_opts_create(list, NULL, 0, &errp); assert_no_error(errp); return opts; } > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > block/blkdebug.c | 2 +- > block/blkverify.c | 2 +- > block/curl.c | 2 +- > block/gluster.c | 2 +- > block/iscsi.c | 2 +- > block/nbd.c | 2 +- > block/qcow2.c | 2 +- > block/raw-posix.c | 2 +- > block/raw-win32.c | 4 ++-- > block/rbd.c | 2 +- > block/sheepdog.c | 2 +- > block/vvfat.c | 2 +- > blockdev.c | 6 ++++-- > hw/watchdog/watchdog.c | 3 ++- > include/qemu/option.h | 1 - > qdev-monitor.c | 2 +- > qemu-img.c | 2 +- > util/qemu-config.c | 2 +- > util/qemu-option.c | 9 --------- > util/qemu-sockets.c | 18 +++++++++--------- > vl.c | 17 ++++++++++------- > 21 files changed, 41 insertions(+), 45 deletions(-) > > diff --git a/block/blkdebug.c b/block/blkdebug.c > index 16d2b91..6b49df8 100644 > --- a/block/blkdebug.c > +++ b/block/blkdebug.c > @@ -359,7 +359,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, > const char *filename, *config; > int ret; > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); Err, doesn't this change fail_if_exists from zero to one? Same everywhere. > diff --git a/block/blkverify.c b/block/blkverify.c > index 3c63528..d901852 100644 > --- a/block/blkverify.c > +++ b/block/blkverify.c > @@ -125,7 +125,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, > const char *filename, *raw; > int ret; > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); > diff --git a/block/curl.c b/block/curl.c > index 5a46f97..25dd433 100644 > --- a/block/curl.c > +++ b/block/curl.c > @@ -413,7 +413,7 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, > return -EROFS; > } > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/block/gluster.c b/block/gluster.c > index 877686a..38c1a72 100644 > --- a/block/gluster.c > +++ b/block/gluster.c > @@ -298,7 +298,7 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict *options, > Error *local_err = NULL; > const char *filename; > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/block/iscsi.c b/block/iscsi.c > index a2d578c..b5a8221 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -1241,7 +1241,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags, > return -EINVAL; > } > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/block/nbd.c b/block/nbd.c > index c8deeee..b281b9c 100644 > --- a/block/nbd.c > +++ b/block/nbd.c > @@ -234,7 +234,7 @@ static int nbd_config(BDRVNBDState *s, QDict *options) > return -EINVAL; > } > > - s->socket_opts = qemu_opts_create_nofail(&socket_optslist); > + s->socket_opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); Long line, please wrap. > > qemu_opts_absorb_qdict(s->socket_opts, options, &local_err); > if (error_is_set(&local_err)) { > diff --git a/block/qcow2.c b/block/qcow2.c > index 6e5d98d..ac63e06 100644 > --- a/block/qcow2.c > +++ b/block/qcow2.c > @@ -669,7 +669,7 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags, > } > > /* Enable lazy_refcounts according to image and command line options */ > - opts = qemu_opts_create_nofail(&qcow2_runtime_opts); > + opts = qemu_opts_create(&qcow2_runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); > diff --git a/block/raw-posix.c b/block/raw-posix.c > index f836c8e..996ec34 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -284,7 +284,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options, > const char *filename; > int fd, ret; > > - opts = qemu_opts_create_nofail(&raw_runtime_opts); > + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); > diff --git a/block/raw-win32.c b/block/raw-win32.c > index 2bad5a3..5881836 100644 > --- a/block/raw-win32.c > +++ b/block/raw-win32.c > @@ -248,7 +248,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags, > > s->type = FTYPE_FILE; > > - opts = qemu_opts_create_nofail(&raw_runtime_opts); > + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); > @@ -550,7 +550,7 @@ static int hdev_open(BlockDriverState *bs, QDict *options, int flags, > Error *local_err = NULL; > const char *filename; > > - QemuOpts *opts = qemu_opts_create_nofail(&raw_runtime_opts); > + QemuOpts *opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); Long line, please wrap. > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > error_propagate(errp, local_err); > diff --git a/block/rbd.c b/block/rbd.c > index 4a1ea5b..e7250dd 100644 > --- a/block/rbd.c > +++ b/block/rbd.c > @@ -461,7 +461,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, > const char *filename; > int r; > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/block/sheepdog.c b/block/sheepdog.c > index ef387de..12f0b3f 100644 > --- a/block/sheepdog.c > +++ b/block/sheepdog.c > @@ -1375,7 +1375,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, > > s->bs = bs; > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/block/vvfat.c b/block/vvfat.c > index 3ddaa0b..57bc0f9 100644 > --- a/block/vvfat.c > +++ b/block/vvfat.c > @@ -1085,7 +1085,7 @@ DLOG(if (stderr == NULL) { > setbuf(stderr, NULL); > }) > > - opts = qemu_opts_create_nofail(&runtime_opts); > + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); > qemu_opts_absorb_qdict(opts, options, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > diff --git a/blockdev.c b/blockdev.c > index 330aa4a..78e8455 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -682,7 +682,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) > bs_opts = qdict_new(); > qemu_opts_to_qdict(all_opts, bs_opts); > > - legacy_opts = qemu_opts_create_nofail(&qemu_legacy_drive_opts); > + legacy_opts = qemu_opts_create(&qemu_legacy_drive_opts, NULL, 1, > + &error_abort); > qemu_opts_absorb_qdict(legacy_opts, bs_opts, &local_err); > if (error_is_set(&local_err)) { > qerror_report_err(local_err); > @@ -853,7 +854,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) > > if (type == IF_VIRTIO) { > QemuOpts *devopts; > - devopts = qemu_opts_create_nofail(qemu_find_opts("device")); > + devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, > + &error_abort); > if (arch_type == QEMU_ARCH_S390X) { > qemu_opt_set(devopts, "driver", "virtio-blk-s390"); > } else { > diff --git a/hw/watchdog/watchdog.c b/hw/watchdog/watchdog.c > index 387962e..0ab2a0e 100644 > --- a/hw/watchdog/watchdog.c > +++ b/hw/watchdog/watchdog.c > @@ -66,7 +66,8 @@ int select_watchdog(const char *p) > QLIST_FOREACH(model, &watchdog_list, entry) { > if (strcasecmp(model->wdt_name, p) == 0) { > /* add the device */ > - opts = qemu_opts_create_nofail(qemu_find_opts("device")); > + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, > + &error_abort); > qemu_opt_set(opts, "driver", p); > return 0; > } > diff --git a/include/qemu/option.h b/include/qemu/option.h > index 5c0c6dd..3ea871a 100644 > --- a/include/qemu/option.h > +++ b/include/qemu/option.h > @@ -136,7 +136,6 @@ int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque, > QemuOpts *qemu_opts_find(QemuOptsList *list, const char *id); > QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, > int fail_if_exists, Error **errp); > -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list); > void qemu_opts_reset(QemuOptsList *list); > void qemu_opts_loc_restore(QemuOpts *opts); > int qemu_opts_set(QemuOptsList *list, const char *id, > diff --git a/qdev-monitor.c b/qdev-monitor.c > index dc37a43..dd6e68c 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -730,7 +730,7 @@ int qemu_global_option(const char *str) > return -1; > } > > - opts = qemu_opts_create_nofail(&qemu_global_opts); > + opts = qemu_opts_create(&qemu_global_opts, NULL, 1, &error_abort); > qemu_opt_set(opts, "driver", driver); > qemu_opt_set(opts, "property", property); > qemu_opt_set(opts, "value", str+offset+1); > diff --git a/qemu-img.c b/qemu-img.c > index b6b5644..4f6b519 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -2477,7 +2477,7 @@ static int img_resize(int argc, char **argv) > } > > /* Parse size */ > - param = qemu_opts_create_nofail(&resize_options); > + param = qemu_opts_create(&resize_options, NULL, 1, &error_abort); > if (qemu_opt_set(param, BLOCK_OPT_SIZE, size)) { > /* Error message already printed when size parsing fails */ > ret = -1; > diff --git a/util/qemu-config.c b/util/qemu-config.c > index 04da942..a803922 100644 > --- a/util/qemu-config.c > +++ b/util/qemu-config.c > @@ -311,7 +311,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) > error_free(local_err); > goto out; > } > - opts = qemu_opts_create_nofail(list); > + opts = qemu_opts_create(list, NULL, 1, &error_abort); > continue; > } > if (sscanf(line, " %63s = \"%1023[^\"]\"", arg, value) == 2) { > diff --git a/util/qemu-option.c b/util/qemu-option.c > index efcb5dc..668e5d9 100644 > --- a/util/qemu-option.c > +++ b/util/qemu-option.c > @@ -791,15 +791,6 @@ QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, > return opts; > } > > -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) > -{ > - QemuOpts *opts; > - Error *errp = NULL; > - opts = qemu_opts_create(list, NULL, 0, &errp); > - assert_no_error(errp); > - return opts; > -} > - > void qemu_opts_reset(QemuOptsList *list) > { > QemuOpts *opts, *next_opts; > diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c > index 6b97dc1..9d50f43 100644 > --- a/util/qemu-sockets.c > +++ b/util/qemu-sockets.c > @@ -578,7 +578,7 @@ int inet_listen(const char *str, char *ostr, int olen, > > addr = inet_parse(str, errp); > if (addr != NULL) { > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > inet_addr_to_opts(opts, addr); > qapi_free_InetSocketAddress(addr); > sock = inet_listen_opts(opts, port_offset, errp); > @@ -617,7 +617,7 @@ int inet_connect(const char *str, Error **errp) > > addr = inet_parse(str, errp); > if (addr != NULL) { > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > inet_addr_to_opts(opts, addr); > qapi_free_InetSocketAddress(addr); > sock = inet_connect_opts(opts, errp, NULL, NULL); > @@ -651,7 +651,7 @@ int inet_nonblocking_connect(const char *str, > > addr = inet_parse(str, errp); > if (addr != NULL) { > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > inet_addr_to_opts(opts, addr); > qapi_free_InetSocketAddress(addr); > sock = inet_connect_opts(opts, errp, callback, opaque); > @@ -794,7 +794,7 @@ int unix_listen(const char *str, char *ostr, int olen, Error **errp) > char *path, *optstr; > int sock, len; > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > > optstr = strchr(str, ','); > if (optstr) { > @@ -822,7 +822,7 @@ int unix_connect(const char *path, Error **errp) > QemuOpts *opts; > int sock; > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > qemu_opt_set(opts, "path", path); > sock = unix_connect_opts(opts, errp, NULL, NULL); > qemu_opts_del(opts); > @@ -839,7 +839,7 @@ int unix_nonblocking_connect(const char *path, > > g_assert(callback != NULL); > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > qemu_opt_set(opts, "path", path); > sock = unix_connect_opts(opts, errp, callback, opaque); > qemu_opts_del(opts); > @@ -889,7 +889,7 @@ int socket_connect(SocketAddress *addr, Error **errp, > QemuOpts *opts; > int fd; > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > switch (addr->kind) { > case SOCKET_ADDRESS_KIND_INET: > inet_addr_to_opts(opts, addr->inet); > @@ -921,7 +921,7 @@ int socket_listen(SocketAddress *addr, Error **errp) > QemuOpts *opts; > int fd; > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > switch (addr->kind) { > case SOCKET_ADDRESS_KIND_INET: > inet_addr_to_opts(opts, addr->inet); > @@ -949,7 +949,7 @@ int socket_dgram(SocketAddress *remote, SocketAddress *local, Error **errp) > QemuOpts *opts; > int fd; > > - opts = qemu_opts_create_nofail(&socket_optslist); > + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > switch (remote->kind) { > case SOCKET_ADDRESS_KIND_INET: > qemu_opt_set(opts, "host", remote->inet->host); > diff --git a/vl.c b/vl.c > index 8d5d874..4d5704b 100644 > --- a/vl.c > +++ b/vl.c > @@ -543,7 +543,7 @@ QemuOpts *qemu_get_machine_opts(void) > assert(list); > opts = qemu_opts_find(list, NULL); > if (!opts) { > - opts = qemu_opts_create_nofail(list); > + opts = qemu_opts_create(list, NULL, 1, &error_abort); > } > return opts; > } > @@ -2252,7 +2252,8 @@ static int balloon_parse(const char *arg) > return -1; > } else { > /* create empty opts */ > - opts = qemu_opts_create_nofail(qemu_find_opts("device")); > + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, > + &error_abort); > } > qemu_opt_set(opts, "driver", "virtio-balloon"); > return 0; > @@ -2512,14 +2513,14 @@ static int virtcon_parse(const char *devname) > exit(1); > } > > - bus_opts = qemu_opts_create_nofail(device); > + bus_opts = qemu_opts_create(device, NULL, 1, &error_abort); > if (arch_type == QEMU_ARCH_S390X) { > qemu_opt_set(bus_opts, "driver", "virtio-serial-s390"); > } else { > qemu_opt_set(bus_opts, "driver", "virtio-serial-pci"); > } > > - dev_opts = qemu_opts_create_nofail(device); > + dev_opts = qemu_opts_create(device, NULL, 1, &error_abort); > qemu_opt_set(dev_opts, "driver", "virtconsole"); > > snprintf(label, sizeof(label), "virtcon%d", index); > @@ -3376,8 +3377,9 @@ int main(int argc, char **argv, char **envp) > } > > qemu_opt_set_bool(fsdev, "readonly", > - qemu_opt_get_bool(opts, "readonly", 0)); > - device = qemu_opts_create_nofail(qemu_find_opts("device")); > + qemu_opt_get_bool(opts, "readonly", 0)); Spurious whitespace change, please fix. > + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, > + &error_abort); > qemu_opt_set(device, "driver", "virtio-9p-pci"); > qemu_opt_set(device, "fsdev", > qemu_opt_get(opts, "mount_tag")); > @@ -3397,7 +3399,8 @@ int main(int argc, char **argv, char **envp) > } > qemu_opt_set(fsdev, "fsdriver", "synth"); > > - device = qemu_opts_create_nofail(qemu_find_opts("device")); > + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, > + &error_abort); > qemu_opt_set(device, "driver", "virtio-9p-pci"); > qemu_opt_set(device, "fsdev", "v_synth"); > qemu_opt_set(device, "mount_tag", "v_synth");
On Tue, Dec 3, 2013 at 7:42 PM, Markus Armbruster <armbru@redhat.com> wrote: > Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes: > >> This is a boiler-plate _nofail variant of qemu_opts_create. Remove and >> use error_abort in call sites. >> >> A null argument needs to be added for the id field in affected callsites >> due to inconsistency between the normal and no_fail variants. > > Two arguments, actually, NULL id and zero fail_if_exists: > Yep. I was assuming fail_if_exists was implicit as part of no-fail so I wasn't considering that an inconsistency. But as _nofail doesn't actually fail_if_exist's then its just as inconsistent. Will fix. > QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) > { > QemuOpts *opts; > Error *errp = NULL; > opts = qemu_opts_create(list, NULL, 0, &errp); > assert_no_error(errp); > return opts; > } > >> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> --- >> >> block/blkdebug.c | 2 +- >> block/blkverify.c | 2 +- >> block/curl.c | 2 +- >> block/gluster.c | 2 +- >> block/iscsi.c | 2 +- >> block/nbd.c | 2 +- >> block/qcow2.c | 2 +- >> block/raw-posix.c | 2 +- >> block/raw-win32.c | 4 ++-- >> block/rbd.c | 2 +- >> block/sheepdog.c | 2 +- >> block/vvfat.c | 2 +- >> blockdev.c | 6 ++++-- >> hw/watchdog/watchdog.c | 3 ++- >> include/qemu/option.h | 1 - >> qdev-monitor.c | 2 +- >> qemu-img.c | 2 +- >> util/qemu-config.c | 2 +- >> util/qemu-option.c | 9 --------- >> util/qemu-sockets.c | 18 +++++++++--------- >> vl.c | 17 ++++++++++------- >> 21 files changed, 41 insertions(+), 45 deletions(-) >> >> diff --git a/block/blkdebug.c b/block/blkdebug.c >> index 16d2b91..6b49df8 100644 >> --- a/block/blkdebug.c >> +++ b/block/blkdebug.c >> @@ -359,7 +359,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, >> const char *filename, *config; >> int ret; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); > > Err, doesn't this change fail_if_exists from zero to one? Same > everywhere. > Yes. Rash assumption my by me that the nofail version fails_on_exist. Will fix. >> diff --git a/block/blkverify.c b/block/blkverify.c >> index 3c63528..d901852 100644 >> --- a/block/blkverify.c >> +++ b/block/blkverify.c >> @@ -125,7 +125,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, >> const char *filename, *raw; >> int ret; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> diff --git a/block/curl.c b/block/curl.c >> index 5a46f97..25dd433 100644 >> --- a/block/curl.c >> +++ b/block/curl.c >> @@ -413,7 +413,7 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, >> return -EROFS; >> } >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/gluster.c b/block/gluster.c >> index 877686a..38c1a72 100644 >> --- a/block/gluster.c >> +++ b/block/gluster.c >> @@ -298,7 +298,7 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict *options, >> Error *local_err = NULL; >> const char *filename; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/iscsi.c b/block/iscsi.c >> index a2d578c..b5a8221 100644 >> --- a/block/iscsi.c >> +++ b/block/iscsi.c >> @@ -1241,7 +1241,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags, >> return -EINVAL; >> } >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/nbd.c b/block/nbd.c >> index c8deeee..b281b9c 100644 >> --- a/block/nbd.c >> +++ b/block/nbd.c >> @@ -234,7 +234,7 @@ static int nbd_config(BDRVNBDState *s, QDict *options) >> return -EINVAL; >> } >> >> - s->socket_opts = qemu_opts_create_nofail(&socket_optslist); >> + s->socket_opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > > Long line, please wrap. > >> >> qemu_opts_absorb_qdict(s->socket_opts, options, &local_err); >> if (error_is_set(&local_err)) { >> diff --git a/block/qcow2.c b/block/qcow2.c >> index 6e5d98d..ac63e06 100644 >> --- a/block/qcow2.c >> +++ b/block/qcow2.c >> @@ -669,7 +669,7 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags, >> } >> >> /* Enable lazy_refcounts according to image and command line options */ >> - opts = qemu_opts_create_nofail(&qcow2_runtime_opts); >> + opts = qemu_opts_create(&qcow2_runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> diff --git a/block/raw-posix.c b/block/raw-posix.c >> index f836c8e..996ec34 100644 >> --- a/block/raw-posix.c >> +++ b/block/raw-posix.c >> @@ -284,7 +284,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options, >> const char *filename; >> int fd, ret; >> >> - opts = qemu_opts_create_nofail(&raw_runtime_opts); >> + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> diff --git a/block/raw-win32.c b/block/raw-win32.c >> index 2bad5a3..5881836 100644 >> --- a/block/raw-win32.c >> +++ b/block/raw-win32.c >> @@ -248,7 +248,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags, >> >> s->type = FTYPE_FILE; >> >> - opts = qemu_opts_create_nofail(&raw_runtime_opts); >> + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> @@ -550,7 +550,7 @@ static int hdev_open(BlockDriverState *bs, QDict *options, int flags, >> Error *local_err = NULL; >> const char *filename; >> >> - QemuOpts *opts = qemu_opts_create_nofail(&raw_runtime_opts); >> + QemuOpts *opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); > > Long line, please wrap. > hmm my checkpatch script must have issues. Sry. >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> diff --git a/block/rbd.c b/block/rbd.c >> index 4a1ea5b..e7250dd 100644 >> --- a/block/rbd.c >> +++ b/block/rbd.c >> @@ -461,7 +461,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, >> const char *filename; >> int r; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/sheepdog.c b/block/sheepdog.c >> index ef387de..12f0b3f 100644 >> --- a/block/sheepdog.c >> +++ b/block/sheepdog.c >> @@ -1375,7 +1375,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, >> >> s->bs = bs; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/vvfat.c b/block/vvfat.c >> index 3ddaa0b..57bc0f9 100644 >> --- a/block/vvfat.c >> +++ b/block/vvfat.c >> @@ -1085,7 +1085,7 @@ DLOG(if (stderr == NULL) { >> setbuf(stderr, NULL); >> }) >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/blockdev.c b/blockdev.c >> index 330aa4a..78e8455 100644 >> --- a/blockdev.c >> +++ b/blockdev.c >> @@ -682,7 +682,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) >> bs_opts = qdict_new(); >> qemu_opts_to_qdict(all_opts, bs_opts); >> >> - legacy_opts = qemu_opts_create_nofail(&qemu_legacy_drive_opts); >> + legacy_opts = qemu_opts_create(&qemu_legacy_drive_opts, NULL, 1, >> + &error_abort); >> qemu_opts_absorb_qdict(legacy_opts, bs_opts, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> @@ -853,7 +854,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) >> >> if (type == IF_VIRTIO) { >> QemuOpts *devopts; >> - devopts = qemu_opts_create_nofail(qemu_find_opts("device")); >> + devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >> + &error_abort); >> if (arch_type == QEMU_ARCH_S390X) { >> qemu_opt_set(devopts, "driver", "virtio-blk-s390"); >> } else { >> diff --git a/hw/watchdog/watchdog.c b/hw/watchdog/watchdog.c >> index 387962e..0ab2a0e 100644 >> --- a/hw/watchdog/watchdog.c >> +++ b/hw/watchdog/watchdog.c >> @@ -66,7 +66,8 @@ int select_watchdog(const char *p) >> QLIST_FOREACH(model, &watchdog_list, entry) { >> if (strcasecmp(model->wdt_name, p) == 0) { >> /* add the device */ >> - opts = qemu_opts_create_nofail(qemu_find_opts("device")); >> + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >> + &error_abort); >> qemu_opt_set(opts, "driver", p); >> return 0; >> } >> diff --git a/include/qemu/option.h b/include/qemu/option.h >> index 5c0c6dd..3ea871a 100644 >> --- a/include/qemu/option.h >> +++ b/include/qemu/option.h >> @@ -136,7 +136,6 @@ int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque, >> QemuOpts *qemu_opts_find(QemuOptsList *list, const char *id); >> QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, >> int fail_if_exists, Error **errp); >> -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list); >> void qemu_opts_reset(QemuOptsList *list); >> void qemu_opts_loc_restore(QemuOpts *opts); >> int qemu_opts_set(QemuOptsList *list, const char *id, >> diff --git a/qdev-monitor.c b/qdev-monitor.c >> index dc37a43..dd6e68c 100644 >> --- a/qdev-monitor.c >> +++ b/qdev-monitor.c >> @@ -730,7 +730,7 @@ int qemu_global_option(const char *str) >> return -1; >> } >> >> - opts = qemu_opts_create_nofail(&qemu_global_opts); >> + opts = qemu_opts_create(&qemu_global_opts, NULL, 1, &error_abort); >> qemu_opt_set(opts, "driver", driver); >> qemu_opt_set(opts, "property", property); >> qemu_opt_set(opts, "value", str+offset+1); >> diff --git a/qemu-img.c b/qemu-img.c >> index b6b5644..4f6b519 100644 >> --- a/qemu-img.c >> +++ b/qemu-img.c >> @@ -2477,7 +2477,7 @@ static int img_resize(int argc, char **argv) >> } >> >> /* Parse size */ >> - param = qemu_opts_create_nofail(&resize_options); >> + param = qemu_opts_create(&resize_options, NULL, 1, &error_abort); >> if (qemu_opt_set(param, BLOCK_OPT_SIZE, size)) { >> /* Error message already printed when size parsing fails */ >> ret = -1; >> diff --git a/util/qemu-config.c b/util/qemu-config.c >> index 04da942..a803922 100644 >> --- a/util/qemu-config.c >> +++ b/util/qemu-config.c >> @@ -311,7 +311,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) >> error_free(local_err); >> goto out; >> } >> - opts = qemu_opts_create_nofail(list); >> + opts = qemu_opts_create(list, NULL, 1, &error_abort); >> continue; >> } >> if (sscanf(line, " %63s = \"%1023[^\"]\"", arg, value) == 2) { >> diff --git a/util/qemu-option.c b/util/qemu-option.c >> index efcb5dc..668e5d9 100644 >> --- a/util/qemu-option.c >> +++ b/util/qemu-option.c >> @@ -791,15 +791,6 @@ QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, >> return opts; >> } >> >> -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) >> -{ >> - QemuOpts *opts; >> - Error *errp = NULL; >> - opts = qemu_opts_create(list, NULL, 0, &errp); >> - assert_no_error(errp); >> - return opts; >> -} >> - >> void qemu_opts_reset(QemuOptsList *list) >> { >> QemuOpts *opts, *next_opts; >> diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c >> index 6b97dc1..9d50f43 100644 >> --- a/util/qemu-sockets.c >> +++ b/util/qemu-sockets.c >> @@ -578,7 +578,7 @@ int inet_listen(const char *str, char *ostr, int olen, >> >> addr = inet_parse(str, errp); >> if (addr != NULL) { >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> inet_addr_to_opts(opts, addr); >> qapi_free_InetSocketAddress(addr); >> sock = inet_listen_opts(opts, port_offset, errp); >> @@ -617,7 +617,7 @@ int inet_connect(const char *str, Error **errp) >> >> addr = inet_parse(str, errp); >> if (addr != NULL) { >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> inet_addr_to_opts(opts, addr); >> qapi_free_InetSocketAddress(addr); >> sock = inet_connect_opts(opts, errp, NULL, NULL); >> @@ -651,7 +651,7 @@ int inet_nonblocking_connect(const char *str, >> >> addr = inet_parse(str, errp); >> if (addr != NULL) { >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> inet_addr_to_opts(opts, addr); >> qapi_free_InetSocketAddress(addr); >> sock = inet_connect_opts(opts, errp, callback, opaque); >> @@ -794,7 +794,7 @@ int unix_listen(const char *str, char *ostr, int olen, Error **errp) >> char *path, *optstr; >> int sock, len; >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> >> optstr = strchr(str, ','); >> if (optstr) { >> @@ -822,7 +822,7 @@ int unix_connect(const char *path, Error **errp) >> QemuOpts *opts; >> int sock; >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> qemu_opt_set(opts, "path", path); >> sock = unix_connect_opts(opts, errp, NULL, NULL); >> qemu_opts_del(opts); >> @@ -839,7 +839,7 @@ int unix_nonblocking_connect(const char *path, >> >> g_assert(callback != NULL); >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> qemu_opt_set(opts, "path", path); >> sock = unix_connect_opts(opts, errp, callback, opaque); >> qemu_opts_del(opts); >> @@ -889,7 +889,7 @@ int socket_connect(SocketAddress *addr, Error **errp, >> QemuOpts *opts; >> int fd; >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> switch (addr->kind) { >> case SOCKET_ADDRESS_KIND_INET: >> inet_addr_to_opts(opts, addr->inet); >> @@ -921,7 +921,7 @@ int socket_listen(SocketAddress *addr, Error **errp) >> QemuOpts *opts; >> int fd; >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> switch (addr->kind) { >> case SOCKET_ADDRESS_KIND_INET: >> inet_addr_to_opts(opts, addr->inet); >> @@ -949,7 +949,7 @@ int socket_dgram(SocketAddress *remote, SocketAddress *local, Error **errp) >> QemuOpts *opts; >> int fd; >> >> - opts = qemu_opts_create_nofail(&socket_optslist); >> + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); >> switch (remote->kind) { >> case SOCKET_ADDRESS_KIND_INET: >> qemu_opt_set(opts, "host", remote->inet->host); >> diff --git a/vl.c b/vl.c >> index 8d5d874..4d5704b 100644 >> --- a/vl.c >> +++ b/vl.c >> @@ -543,7 +543,7 @@ QemuOpts *qemu_get_machine_opts(void) >> assert(list); >> opts = qemu_opts_find(list, NULL); >> if (!opts) { >> - opts = qemu_opts_create_nofail(list); >> + opts = qemu_opts_create(list, NULL, 1, &error_abort); >> } >> return opts; >> } >> @@ -2252,7 +2252,8 @@ static int balloon_parse(const char *arg) >> return -1; >> } else { >> /* create empty opts */ >> - opts = qemu_opts_create_nofail(qemu_find_opts("device")); >> + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >> + &error_abort); >> } >> qemu_opt_set(opts, "driver", "virtio-balloon"); >> return 0; >> @@ -2512,14 +2513,14 @@ static int virtcon_parse(const char *devname) >> exit(1); >> } >> >> - bus_opts = qemu_opts_create_nofail(device); >> + bus_opts = qemu_opts_create(device, NULL, 1, &error_abort); >> if (arch_type == QEMU_ARCH_S390X) { >> qemu_opt_set(bus_opts, "driver", "virtio-serial-s390"); >> } else { >> qemu_opt_set(bus_opts, "driver", "virtio-serial-pci"); >> } >> >> - dev_opts = qemu_opts_create_nofail(device); >> + dev_opts = qemu_opts_create(device, NULL, 1, &error_abort); >> qemu_opt_set(dev_opts, "driver", "virtconsole"); >> >> snprintf(label, sizeof(label), "virtcon%d", index); >> @@ -3376,8 +3377,9 @@ int main(int argc, char **argv, char **envp) >> } >> >> qemu_opt_set_bool(fsdev, "readonly", >> - qemu_opt_get_bool(opts, "readonly", 0)); >> - device = qemu_opts_create_nofail(qemu_find_opts("device")); >> + qemu_opt_get_bool(opts, "readonly", 0)); > > Spurious whitespace change, please fix. > Is the change incorrect? I just did it as it was right next to my change and corrects relative to the local formatting. Regards, Peter >> + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >> + &error_abort); >> qemu_opt_set(device, "driver", "virtio-9p-pci"); >> qemu_opt_set(device, "fsdev", >> qemu_opt_get(opts, "mount_tag")); >> @@ -3397,7 +3399,8 @@ int main(int argc, char **argv, char **envp) >> } >> qemu_opt_set(fsdev, "fsdriver", "synth"); >> >> - device = qemu_opts_create_nofail(qemu_find_opts("device")); >> + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >> + &error_abort); >> qemu_opt_set(device, "driver", "virtio-9p-pci"); >> qemu_opt_set(device, "fsdev", "v_synth"); >> qemu_opt_set(device, "mount_tag", "v_synth"); >
Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes: > On Tue, Dec 3, 2013 at 7:42 PM, Markus Armbruster <armbru@redhat.com> wrote: >> Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes: [...] >>> @@ -3376,8 +3377,9 @@ int main(int argc, char **argv, char **envp) >>> } >>> >>> qemu_opt_set_bool(fsdev, "readonly", >>> - qemu_opt_get_bool(opts, "readonly", 0)); >>> - device = qemu_opts_create_nofail(qemu_find_opts("device")); >>> + qemu_opt_get_bool(opts, "readonly", 0)); >> >> Spurious whitespace change, please fix. >> > > Is the change incorrect? I just did it as it was right next to my > change and corrects relative to the local formatting. > > Regards, > Peter Ah, it was an intentional indentation fix, not an editing accident! Your choice (I guess I'd refrain from it myself). >>> + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, >>> + &error_abort); >>> qemu_opt_set(device, "driver", "virtio-9p-pci"); >>> qemu_opt_set(device, "fsdev", >>> qemu_opt_get(opts, "mount_tag")); [...]
On Tue, Dec 3, 2013 at 7:42 PM, Markus Armbruster <armbru@redhat.com> wrote: > Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes: > >> This is a boiler-plate _nofail variant of qemu_opts_create. Remove and >> use error_abort in call sites. >> >> A null argument needs to be added for the id field in affected callsites >> due to inconsistency between the normal and no_fail variants. > > Two arguments, actually, NULL id and zero fail_if_exists: > > QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) > { > QemuOpts *opts; > Error *errp = NULL; > opts = qemu_opts_create(list, NULL, 0, &errp); > assert_no_error(errp); > return opts; > } > >> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> --- >> >> block/blkdebug.c | 2 +- >> block/blkverify.c | 2 +- >> block/curl.c | 2 +- >> block/gluster.c | 2 +- >> block/iscsi.c | 2 +- >> block/nbd.c | 2 +- >> block/qcow2.c | 2 +- >> block/raw-posix.c | 2 +- >> block/raw-win32.c | 4 ++-- >> block/rbd.c | 2 +- >> block/sheepdog.c | 2 +- >> block/vvfat.c | 2 +- >> blockdev.c | 6 ++++-- >> hw/watchdog/watchdog.c | 3 ++- >> include/qemu/option.h | 1 - >> qdev-monitor.c | 2 +- >> qemu-img.c | 2 +- >> util/qemu-config.c | 2 +- >> util/qemu-option.c | 9 --------- >> util/qemu-sockets.c | 18 +++++++++--------- >> vl.c | 17 ++++++++++------- >> 21 files changed, 41 insertions(+), 45 deletions(-) >> >> diff --git a/block/blkdebug.c b/block/blkdebug.c >> index 16d2b91..6b49df8 100644 >> --- a/block/blkdebug.c >> +++ b/block/blkdebug.c >> @@ -359,7 +359,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, >> const char *filename, *config; >> int ret; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); > > Err, doesn't this change fail_if_exists from zero to one? Same > everywhere. > >> diff --git a/block/blkverify.c b/block/blkverify.c >> index 3c63528..d901852 100644 >> --- a/block/blkverify.c >> +++ b/block/blkverify.c >> @@ -125,7 +125,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, >> const char *filename, *raw; >> int ret; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> error_propagate(errp, local_err); >> diff --git a/block/curl.c b/block/curl.c >> index 5a46f97..25dd433 100644 >> --- a/block/curl.c >> +++ b/block/curl.c >> @@ -413,7 +413,7 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, >> return -EROFS; >> } >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/gluster.c b/block/gluster.c >> index 877686a..38c1a72 100644 >> --- a/block/gluster.c >> +++ b/block/gluster.c >> @@ -298,7 +298,7 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict *options, >> Error *local_err = NULL; >> const char *filename; >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/iscsi.c b/block/iscsi.c >> index a2d578c..b5a8221 100644 >> --- a/block/iscsi.c >> +++ b/block/iscsi.c >> @@ -1241,7 +1241,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags, >> return -EINVAL; >> } >> >> - opts = qemu_opts_create_nofail(&runtime_opts); >> + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); >> qemu_opts_absorb_qdict(opts, options, &local_err); >> if (error_is_set(&local_err)) { >> qerror_report_err(local_err); >> diff --git a/block/nbd.c b/block/nbd.c >> index c8deeee..b281b9c 100644 >> --- a/block/nbd.c >> +++ b/block/nbd.c >> @@ -234,7 +234,7 @@ static int nbd_config(BDRVNBDState *s, QDict *options) >> return -EINVAL; >> } >> >> - s->socket_opts = qemu_opts_create_nofail(&socket_optslist); >> + s->socket_opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); > > Long line, please wrap. > I have this as length 79 and it passes checkpatch. Is it just for the sake of making some spare space? Regards, Peter
diff --git a/block/blkdebug.c b/block/blkdebug.c index 16d2b91..6b49df8 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -359,7 +359,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags, const char *filename, *config; int ret; - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); diff --git a/block/blkverify.c b/block/blkverify.c index 3c63528..d901852 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -125,7 +125,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *options, int flags, const char *filename, *raw; int ret; - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); diff --git a/block/curl.c b/block/curl.c index 5a46f97..25dd433 100644 --- a/block/curl.c +++ b/block/curl.c @@ -413,7 +413,7 @@ static int curl_open(BlockDriverState *bs, QDict *options, int flags, return -EROFS; } - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/block/gluster.c b/block/gluster.c index 877686a..38c1a72 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -298,7 +298,7 @@ static int qemu_gluster_open(BlockDriverState *bs, QDict *options, Error *local_err = NULL; const char *filename; - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/block/iscsi.c b/block/iscsi.c index a2d578c..b5a8221 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1241,7 +1241,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags, return -EINVAL; } - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/block/nbd.c b/block/nbd.c index c8deeee..b281b9c 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -234,7 +234,7 @@ static int nbd_config(BDRVNBDState *s, QDict *options) return -EINVAL; } - s->socket_opts = qemu_opts_create_nofail(&socket_optslist); + s->socket_opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); qemu_opts_absorb_qdict(s->socket_opts, options, &local_err); if (error_is_set(&local_err)) { diff --git a/block/qcow2.c b/block/qcow2.c index 6e5d98d..ac63e06 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -669,7 +669,7 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags, } /* Enable lazy_refcounts according to image and command line options */ - opts = qemu_opts_create_nofail(&qcow2_runtime_opts); + opts = qemu_opts_create(&qcow2_runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); diff --git a/block/raw-posix.c b/block/raw-posix.c index f836c8e..996ec34 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -284,7 +284,7 @@ static int raw_open_common(BlockDriverState *bs, QDict *options, const char *filename; int fd, ret; - opts = qemu_opts_create_nofail(&raw_runtime_opts); + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); diff --git a/block/raw-win32.c b/block/raw-win32.c index 2bad5a3..5881836 100644 --- a/block/raw-win32.c +++ b/block/raw-win32.c @@ -248,7 +248,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags, s->type = FTYPE_FILE; - opts = qemu_opts_create_nofail(&raw_runtime_opts); + opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); @@ -550,7 +550,7 @@ static int hdev_open(BlockDriverState *bs, QDict *options, int flags, Error *local_err = NULL; const char *filename; - QemuOpts *opts = qemu_opts_create_nofail(&raw_runtime_opts); + QemuOpts *opts = qemu_opts_create(&raw_runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { error_propagate(errp, local_err); diff --git a/block/rbd.c b/block/rbd.c index 4a1ea5b..e7250dd 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -461,7 +461,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, const char *filename; int r; - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/block/sheepdog.c b/block/sheepdog.c index ef387de..12f0b3f 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1375,7 +1375,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, s->bs = bs; - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/block/vvfat.c b/block/vvfat.c index 3ddaa0b..57bc0f9 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -1085,7 +1085,7 @@ DLOG(if (stderr == NULL) { setbuf(stderr, NULL); }) - opts = qemu_opts_create_nofail(&runtime_opts); + opts = qemu_opts_create(&runtime_opts, NULL, 1, &error_abort); qemu_opts_absorb_qdict(opts, options, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); diff --git a/blockdev.c b/blockdev.c index 330aa4a..78e8455 100644 --- a/blockdev.c +++ b/blockdev.c @@ -682,7 +682,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) bs_opts = qdict_new(); qemu_opts_to_qdict(all_opts, bs_opts); - legacy_opts = qemu_opts_create_nofail(&qemu_legacy_drive_opts); + legacy_opts = qemu_opts_create(&qemu_legacy_drive_opts, NULL, 1, + &error_abort); qemu_opts_absorb_qdict(legacy_opts, bs_opts, &local_err); if (error_is_set(&local_err)) { qerror_report_err(local_err); @@ -853,7 +854,8 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type) if (type == IF_VIRTIO) { QemuOpts *devopts; - devopts = qemu_opts_create_nofail(qemu_find_opts("device")); + devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, + &error_abort); if (arch_type == QEMU_ARCH_S390X) { qemu_opt_set(devopts, "driver", "virtio-blk-s390"); } else { diff --git a/hw/watchdog/watchdog.c b/hw/watchdog/watchdog.c index 387962e..0ab2a0e 100644 --- a/hw/watchdog/watchdog.c +++ b/hw/watchdog/watchdog.c @@ -66,7 +66,8 @@ int select_watchdog(const char *p) QLIST_FOREACH(model, &watchdog_list, entry) { if (strcasecmp(model->wdt_name, p) == 0) { /* add the device */ - opts = qemu_opts_create_nofail(qemu_find_opts("device")); + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, + &error_abort); qemu_opt_set(opts, "driver", p); return 0; } diff --git a/include/qemu/option.h b/include/qemu/option.h index 5c0c6dd..3ea871a 100644 --- a/include/qemu/option.h +++ b/include/qemu/option.h @@ -136,7 +136,6 @@ int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque, QemuOpts *qemu_opts_find(QemuOptsList *list, const char *id); QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, int fail_if_exists, Error **errp); -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list); void qemu_opts_reset(QemuOptsList *list); void qemu_opts_loc_restore(QemuOpts *opts); int qemu_opts_set(QemuOptsList *list, const char *id, diff --git a/qdev-monitor.c b/qdev-monitor.c index dc37a43..dd6e68c 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -730,7 +730,7 @@ int qemu_global_option(const char *str) return -1; } - opts = qemu_opts_create_nofail(&qemu_global_opts); + opts = qemu_opts_create(&qemu_global_opts, NULL, 1, &error_abort); qemu_opt_set(opts, "driver", driver); qemu_opt_set(opts, "property", property); qemu_opt_set(opts, "value", str+offset+1); diff --git a/qemu-img.c b/qemu-img.c index b6b5644..4f6b519 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -2477,7 +2477,7 @@ static int img_resize(int argc, char **argv) } /* Parse size */ - param = qemu_opts_create_nofail(&resize_options); + param = qemu_opts_create(&resize_options, NULL, 1, &error_abort); if (qemu_opt_set(param, BLOCK_OPT_SIZE, size)) { /* Error message already printed when size parsing fails */ ret = -1; diff --git a/util/qemu-config.c b/util/qemu-config.c index 04da942..a803922 100644 --- a/util/qemu-config.c +++ b/util/qemu-config.c @@ -311,7 +311,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) error_free(local_err); goto out; } - opts = qemu_opts_create_nofail(list); + opts = qemu_opts_create(list, NULL, 1, &error_abort); continue; } if (sscanf(line, " %63s = \"%1023[^\"]\"", arg, value) == 2) { diff --git a/util/qemu-option.c b/util/qemu-option.c index efcb5dc..668e5d9 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -791,15 +791,6 @@ QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, return opts; } -QemuOpts *qemu_opts_create_nofail(QemuOptsList *list) -{ - QemuOpts *opts; - Error *errp = NULL; - opts = qemu_opts_create(list, NULL, 0, &errp); - assert_no_error(errp); - return opts; -} - void qemu_opts_reset(QemuOptsList *list) { QemuOpts *opts, *next_opts; diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 6b97dc1..9d50f43 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -578,7 +578,7 @@ int inet_listen(const char *str, char *ostr, int olen, addr = inet_parse(str, errp); if (addr != NULL) { - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); inet_addr_to_opts(opts, addr); qapi_free_InetSocketAddress(addr); sock = inet_listen_opts(opts, port_offset, errp); @@ -617,7 +617,7 @@ int inet_connect(const char *str, Error **errp) addr = inet_parse(str, errp); if (addr != NULL) { - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); inet_addr_to_opts(opts, addr); qapi_free_InetSocketAddress(addr); sock = inet_connect_opts(opts, errp, NULL, NULL); @@ -651,7 +651,7 @@ int inet_nonblocking_connect(const char *str, addr = inet_parse(str, errp); if (addr != NULL) { - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); inet_addr_to_opts(opts, addr); qapi_free_InetSocketAddress(addr); sock = inet_connect_opts(opts, errp, callback, opaque); @@ -794,7 +794,7 @@ int unix_listen(const char *str, char *ostr, int olen, Error **errp) char *path, *optstr; int sock, len; - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); optstr = strchr(str, ','); if (optstr) { @@ -822,7 +822,7 @@ int unix_connect(const char *path, Error **errp) QemuOpts *opts; int sock; - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); qemu_opt_set(opts, "path", path); sock = unix_connect_opts(opts, errp, NULL, NULL); qemu_opts_del(opts); @@ -839,7 +839,7 @@ int unix_nonblocking_connect(const char *path, g_assert(callback != NULL); - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); qemu_opt_set(opts, "path", path); sock = unix_connect_opts(opts, errp, callback, opaque); qemu_opts_del(opts); @@ -889,7 +889,7 @@ int socket_connect(SocketAddress *addr, Error **errp, QemuOpts *opts; int fd; - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); switch (addr->kind) { case SOCKET_ADDRESS_KIND_INET: inet_addr_to_opts(opts, addr->inet); @@ -921,7 +921,7 @@ int socket_listen(SocketAddress *addr, Error **errp) QemuOpts *opts; int fd; - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); switch (addr->kind) { case SOCKET_ADDRESS_KIND_INET: inet_addr_to_opts(opts, addr->inet); @@ -949,7 +949,7 @@ int socket_dgram(SocketAddress *remote, SocketAddress *local, Error **errp) QemuOpts *opts; int fd; - opts = qemu_opts_create_nofail(&socket_optslist); + opts = qemu_opts_create(&socket_optslist, NULL, 1, &error_abort); switch (remote->kind) { case SOCKET_ADDRESS_KIND_INET: qemu_opt_set(opts, "host", remote->inet->host); diff --git a/vl.c b/vl.c index 8d5d874..4d5704b 100644 --- a/vl.c +++ b/vl.c @@ -543,7 +543,7 @@ QemuOpts *qemu_get_machine_opts(void) assert(list); opts = qemu_opts_find(list, NULL); if (!opts) { - opts = qemu_opts_create_nofail(list); + opts = qemu_opts_create(list, NULL, 1, &error_abort); } return opts; } @@ -2252,7 +2252,8 @@ static int balloon_parse(const char *arg) return -1; } else { /* create empty opts */ - opts = qemu_opts_create_nofail(qemu_find_opts("device")); + opts = qemu_opts_create(qemu_find_opts("device"), NULL, 1, + &error_abort); } qemu_opt_set(opts, "driver", "virtio-balloon"); return 0; @@ -2512,14 +2513,14 @@ static int virtcon_parse(const char *devname) exit(1); } - bus_opts = qemu_opts_create_nofail(device); + bus_opts = qemu_opts_create(device, NULL, 1, &error_abort); if (arch_type == QEMU_ARCH_S390X) { qemu_opt_set(bus_opts, "driver", "virtio-serial-s390"); } else { qemu_opt_set(bus_opts, "driver", "virtio-serial-pci"); } - dev_opts = qemu_opts_create_nofail(device); + dev_opts = qemu_opts_create(device, NULL, 1, &error_abort); qemu_opt_set(dev_opts, "driver", "virtconsole"); snprintf(label, sizeof(label), "virtcon%d", index); @@ -3376,8 +3377,9 @@ int main(int argc, char **argv, char **envp) } qemu_opt_set_bool(fsdev, "readonly", - qemu_opt_get_bool(opts, "readonly", 0)); - device = qemu_opts_create_nofail(qemu_find_opts("device")); + qemu_opt_get_bool(opts, "readonly", 0)); + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, + &error_abort); qemu_opt_set(device, "driver", "virtio-9p-pci"); qemu_opt_set(device, "fsdev", qemu_opt_get(opts, "mount_tag")); @@ -3397,7 +3399,8 @@ int main(int argc, char **argv, char **envp) } qemu_opt_set(fsdev, "fsdriver", "synth"); - device = qemu_opts_create_nofail(qemu_find_opts("device")); + device = qemu_opts_create(qemu_find_opts("device"), NULL, 1, + &error_abort); qemu_opt_set(device, "driver", "virtio-9p-pci"); qemu_opt_set(device, "fsdev", "v_synth"); qemu_opt_set(device, "mount_tag", "v_synth");
This is a boiler-plate _nofail variant of qemu_opts_create. Remove and use error_abort in call sites. A null argument needs to be added for the id field in affected callsites due to inconsistency between the normal and no_fail variants. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> --- block/blkdebug.c | 2 +- block/blkverify.c | 2 +- block/curl.c | 2 +- block/gluster.c | 2 +- block/iscsi.c | 2 +- block/nbd.c | 2 +- block/qcow2.c | 2 +- block/raw-posix.c | 2 +- block/raw-win32.c | 4 ++-- block/rbd.c | 2 +- block/sheepdog.c | 2 +- block/vvfat.c | 2 +- blockdev.c | 6 ++++-- hw/watchdog/watchdog.c | 3 ++- include/qemu/option.h | 1 - qdev-monitor.c | 2 +- qemu-img.c | 2 +- util/qemu-config.c | 2 +- util/qemu-option.c | 9 --------- util/qemu-sockets.c | 18 +++++++++--------- vl.c | 17 ++++++++++------- 21 files changed, 41 insertions(+), 45 deletions(-)