diff --git a/block.c b/block.c index 3050854528..16615bc876 100644 --- a/block.c +++ b/block.c @@ -950,8 +950,9 @@ static void bdrv_temp_snapshot_options(int *child_flags, QDict *child_options, qdict_set_default_str(child_options, BDRV_OPT_CACHE_DIRECT, "off"); qdict_set_default_str(child_options, BDRV_OPT_CACHE_NO_FLUSH, "on"); - /* Copy the read-only option from the parent */ + /* Copy the read-only and discard options from the parent */ qdict_copy_default(child_options, parent_options, BDRV_OPT_READ_ONLY); + qdict_copy_default(child_options, parent_options, BDRV_OPT_DISCARD); /* aio=native doesn't work for cache.direct=off, so disable it for the * temporary snapshot */ diff --git a/device-hotplug.c b/device-hotplug.c index 6090d5f1e9..6153259d71 100644 --- a/device-hotplug.c +++ b/device-hotplug.c @@ -48,7 +48,7 @@ static DriveInfo *add_init_drive(const char *optstr) mc = MACHINE_GET_CLASS(current_machine); dinfo = drive_new(opts, mc->block_default_type, &err); - if (!dinfo) { + if (err) { error_report_err(err); qemu_opts_del(opts); return NULL; diff --git a/tests/test-hmp.c b/tests/test-hmp.c index 8c49d2fdf1..54a01824dc 100644 --- a/tests/test-hmp.c +++ b/tests/test-hmp.c @@ -31,6 +31,7 @@ static const char *hmp_cmds[] = { "cpu 0", "device_add ?", "device_add usb-mouse,id=mouse1", + "drive_add ignored format=help", "mouse_button 7", "mouse_move 10 10", "mouse_button 0",