On 20/09/2016 14:39, Pavel Dovgalyuk wrote: > > > + replay_snapshot = g_strdup(qemu_opt_get(opts, "rrsnapshot")); > > > + > > > replay_enable(fname, mode); > > > > > > > Should you set snapshot = 1 here if there is no rrsnapshot option? > > No, because there is default snapshot name for the case when user > specifies overlay for the drives.
There are three possibilities: a) these patches: with implicit overlay: -drive file=disk.raw,if=none,id=img-direct -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay with explicit overlay: -drive file=disk.raw,if=none,id=img-direct -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay,overlay=foo.qcow2 Advantages: - does the right thing in the "implicit overlay" case. Disadvantages: - no need really to specify disk.raw in the "explicit overlay" case, since it's already specified when you create the overlay with qemu-img. Vote for implicit overlay: excellent Vote for explicit overlay: bad (need to track two file names) b) always specify -snapshot manually: with implicit overlay: -drive file=disk.raw,if=none,id=img-direct -snapshot -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay with explicit overlay: -drive file=foo.qcow2,if=none,id=img-direct -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay Advantages: - can use default snapshot name in the "explicit overlay" case Disadvantages: - need to specify -snapshot explicitly for the "implicit overlay" case Vote for implicit overlay: awful (disk.raw destroy if you forget -snapshot) Vote for explicit overlay: excellent c) no rrsnapshot implies -snapshot: without overlay: -drive file=disk.raw,if=none,id=img-direct -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay with overlay: -drive file=foo.qcow2,if=none,id=img-direct -drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay -icount ...,rrsnapshot=snapname Advantages: - does the right thing in the "implicit overlay" case. Disadvantages: - always have to specify snapshot name in the "explicit overlay" case Vote for implicit overlay: excellent (same as a) Vote for explicit overlay: decent We have to choose between (a) and (c) I think, because the risk of corruption for (b) is too high. I prefer (c). Kevin, what do you think? Thanks, Paolo