On 16/09/2016 11:36, Pavel Dovgalyuk wrote: >> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo >> Bonzini >> On 16/09/2016 09:55, Pavel Dovgalyuk wrote: >>>> Since you have to create >>>> overlay.qcow2 outside QEMU anyway, overlay.qcow2 might as well be the >>>> "image". That is, you could choose between: >>>> >>>> -drive driver=blkreplay,if=none,image=overlay.qcow2,id=img-blkreplay \ >>>> -rr snapshot=replay_init,... >>>> >>>> -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay >>>> >>>> The temporary snapshot would be created if there's no "-rr snapshot" option >>>> on the command line. >>>> >>>> Does this make sense? >>> >>> There are two different parts: >>> - creating an overlay >>> - creating the snapshot >>> >>> Overlay is needed to preserve the state of the original backing file. >>> In the current version temporary overlay is always created at start of qemu. >> >> Yes, this would still be the default for rr mode. >> >>> I don't think that it is convenient forcing user to create overlay manually. >> >> Note that all I'm only saying that _only for the case where the user >> creates the overlay manually anyway_ there is no need to specify both >> image and overlay. (I also don't like particularly the hard-coded >> snapshot name replay_init, which can be overridden by -loadvm but not >> when saving). > > Ok, this seems reasonable to fix. > >> >> So there are various possibilites: >> >> First proposal: >> >> - automatically created overlay is -icount rr=record|replay (then >> snapshot name doesn't matter, it can be replay_init) >> >> - manually created overlay is -icount >> rr=record|replay,rrsnapshot=snapname (then snapshot name matters because >> you can have different snapshots in the same file) > > We can't create overlay with icount suboptions, because there could be several > block devices. Each one needs its own overlay.
Right, so the overlay name is specified in each -drive option the blkreplay image. rrsnapshot is just the name of the first snapshot that is created (for rr=record, instead of requiring manual interaction with the monitor) or loaded (for rr=replay; in this case it's a convenience only). Paolo