aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-05-17 11:59:50 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-05-17 11:59:50 +0100
commita4207e3b00e89f934adb231057dcf9a75ac2ae45 (patch)
tree6a6c897b5d0ad1c589f37a9d5f7ead52974dea4c /block
parenteb7514ae10d187ccf3bfc0f7dc159a4dfde20be4 (diff)
parentc82be42cc803b36fd7aed5dceec68312c7056fd5 (diff)
downloadqemu-a4207e3b00e89f934adb231057dcf9a75ac2ae45.zip
qemu-a4207e3b00e89f934adb231057dcf9a75ac2ae45.tar.gz
qemu-a4207e3b00e89f934adb231057dcf9a75ac2ae45.tar.bz2
Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging
# gpg: Signature made Wed 16 May 2018 18:38:15 BST # gpg: using RSA key BDBE7B27C0DE3057 # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>" # gpg: aka "Jeffrey Cody <jeff@codyprime.org>" # gpg: aka "Jeffrey Cody <codyprime@gmail.com>" # Primary key fingerprint: 9957 4B4D 3474 90E7 9D98 D624 BDBE 7B27 C0DE 3057 * remotes/cody/tags/block-pull-request: nfs: Remove processed options from QDict nfs: Fix error path in nfs_options_qdict_to_qapi() blockjob: do not cancel timer in resume qemu-iotests: reduce chance of races in 185 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'block')
-rw-r--r--block/nfs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/block/nfs.c b/block/nfs.c
index 66fddf1..3349b67 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -557,6 +557,7 @@ static BlockdevOptionsNfs *nfs_options_qdict_to_qapi(QDict *options,
BlockdevOptionsNfs *opts = NULL;
QObject *crumpled = NULL;
Visitor *v;
+ const QDictEntry *e;
Error *local_err = NULL;
crumpled = qdict_crumple(options, errp);
@@ -570,9 +571,16 @@ static BlockdevOptionsNfs *nfs_options_qdict_to_qapi(QDict *options,
qobject_unref(crumpled);
if (local_err) {
+ error_propagate(errp, local_err);
return NULL;
}
+ /* Remove the processed options from the QDict (the visitor processes
+ * _all_ options in the QDict) */
+ while ((e = qdict_first(options))) {
+ qdict_del(options, e->key);
+ }
+
return opts;
}