rbd: Clean up qemu_rbd_create()'s detour through QemuOpts

The conversion from QDict to QemuOpts is pointless.  Simply get the
stuff straight from the QDict.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Message-id: 1490691368-32099-8-git-send-email-armbru@redhat.com
Signed-off-by: Jeff Cody <jcody@redhat.com>
This commit is contained in:
Markus Armbruster 2017-03-28 10:56:05 +02:00 committed by Jeff Cody
parent cbf036b4f3
commit 078463977a

View File

@ -376,7 +376,6 @@ static int qemu_rbd_create(const char *filename, QemuOpts *opts, Error **errp)
rados_t cluster; rados_t cluster;
rados_ioctx_t io_ctx; rados_ioctx_t io_ctx;
QDict *options = NULL; QDict *options = NULL;
QemuOpts *rbd_opts = NULL;
int ret = 0; int ret = 0;
secretid = qemu_opt_get(opts, "password-secret"); secretid = qemu_opt_get(opts, "password-secret");
@ -407,19 +406,11 @@ static int qemu_rbd_create(const char *filename, QemuOpts *opts, Error **errp)
goto exit; goto exit;
} }
rbd_opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); pool = qdict_get_try_str(options, "pool");
qemu_opts_absorb_qdict(rbd_opts, options, &local_err); conf = qdict_get_try_str(options, "conf");
if (local_err) { clientname = qdict_get_try_str(options, "user");
error_propagate(errp, local_err); name = qdict_get_try_str(options, "image");
ret = -EINVAL; keypairs = qdict_get_try_str(options, "=keyvalue-pairs");
goto exit;
}
pool = qemu_opt_get(rbd_opts, "pool");
conf = qemu_opt_get(rbd_opts, "conf");
clientname = qemu_opt_get(rbd_opts, "user");
name = qemu_opt_get(rbd_opts, "image");
keypairs = qemu_opt_get(rbd_opts, "=keyvalue-pairs");
ret = rados_create(&cluster, clientname); ret = rados_create(&cluster, clientname);
if (ret < 0) { if (ret < 0) {
@ -470,7 +461,6 @@ shutdown:
exit: exit:
QDECREF(options); QDECREF(options);
qemu_opts_del(rbd_opts);
return ret; return ret;
} }