block: Factor out qobject_input_visitor_new_flat_confused()

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Markus Armbruster 2018-06-14 21:14:33 +02:00 committed by Kevin Wolf
parent 92adf9dbcd
commit af91062ee1
13 changed files with 53 additions and 62 deletions

View file

@ -556,20 +556,17 @@ static BlockdevOptionsNfs *nfs_options_qdict_to_qapi(QDict *options,
Error **errp)
{
BlockdevOptionsNfs *opts = NULL;
QObject *crumpled = NULL;
Visitor *v;
const QDictEntry *e;
Error *local_err = NULL;
crumpled = qdict_crumple_for_keyval_qiv(options, errp);
if (crumpled == NULL) {
v = qobject_input_visitor_new_flat_confused(options, errp);
if (!v) {
return NULL;
}
v = qobject_input_visitor_new_keyval(crumpled);
visit_type_BlockdevOptionsNfs(v, NULL, &opts, &local_err);
visit_free(v);
qobject_unref(crumpled);
if (local_err) {
error_propagate(errp, local_err);