[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: |
Pavel Dovgalyuk |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/8] block: set snapshot option for block devices in blkreplay module |
Date: |
Tue, 20 Sep 2016 15:43:11 +0300 |
> From: Paolo Bonzini [mailto:address@hidden
> 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.
This branch allows user do not bother about overlays at all.
Driver will automatically create temporary snapshot.
Pavel Dovgalyuk