[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/8] block: set snapshot option for block dev
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/8] block: set snapshot option for block devices in blkreplay module |
Date: |
Tue, 20 Sep 2016 14:35:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 20/09/2016 14:31, Pavel Dovgalyuk wrote:
> /* Open the image file */
> bs->file = bdrv_open_child(NULL, options, "image",
> @@ -40,6 +112,43 @@ static int blkreplay_open(BlockDriverState *bs, QDict
> *options, int flags,
> goto fail;
> }
>
> + opts = qemu_opts_create(&blkreplay_runtime_opts, NULL, 0, &error_abort);
> + qemu_opts_absorb_qdict(opts, options, &local_err);
> + if (local_err) {
> + ret = -EINVAL;
> + goto fail;
> + }
> +
> + /* Prepare options QDict for the overlay file */
> + qdict_put(snapshot_options, "file.driver",
> + qstring_from_str("file"));
> + qdict_put(snapshot_options, "driver",
> + qstring_from_str("qcow2"));
> +
> + snapshot = qemu_opt_get(opts, "overlay");
> + if (snapshot) {
> + qdict_put(snapshot_options, "file.filename",
> + qstring_from_str(snapshot));
> + } else {
> + char tmp_filename[PATH_MAX + 1];
> + ret = get_tmp_filename(tmp_filename, PATH_MAX + 1);
> + if (ret < 0) {
> + error_setg_errno(errp, -ret, "Could not get temporary filename");
> + goto fail;
> + }
No, this is unnecessary. The image is unused in this case, so you can
specify the overlay as image=foo.qcow2.
Paolo