[for-3.1,v10,30/31] block: BDS options may lack the "driver" option

Message ID 20180809213528.14738-31-mreitz@redhat.com
State New
Headers show
Series
  • block: Fix some filename generation issues
Related show

Commit Message

Max Reitz Aug. 9, 2018, 9:35 p.m.
When BDSs are created by qemu itself (e.g. as filters in block jobs),
they may not have a "driver" option in their options QDict.  When
generating a json:{} filename, however, it must always be present.

Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 block.c | 6 ++++++
 1 file changed, 6 insertions(+)

Patch

diff --git a/block.c b/block.c
index c4aec7ea65..5118d992c3 100644
--- a/block.c
+++ b/block.c
@@ -5242,6 +5242,12 @@  static bool append_strong_runtime_options(QDict *d, BlockDriverState *bs)
         }
     }
 
+    if (!qdict_haskey(d, "driver")) {
+        /* Drivers created with bdrv_new_open_driver() may not have a
+         * @driver option.  Add it here. */
+        qdict_put_str(d, "driver", bs->drv->format_name);
+    }
+
     return found_any;
 }