On Tue, Jun 09, 2020 at 17:00:07 +0200, Peter Krempa wrote: > Use 'block-dirty-bitmap-populate' and change how we create bitmaps > corresponding to checkpoints to simplify the code and also properly > integrate with backing chain images created outside of libvirt. > > This patchset changes how we approach checkpoints by keeping one bitmap > per checkpoint and disk and not propagating the bitmaps into overlays on > snapshots. This massively simplifies the code handling all the > operations during blockjobs and backups. > > While the change isn't compatible with checkpoints created previously, > we didn't yet enable the support for checkpoints/backups. > > Note that 'block-dirty-bitmap-populate' is _not_ in finished state in > qemu yet, so I'm posting this as RFC and as reference for qemu > developers of the usefulnes of it. > > > The changes can be fetched by: > > git fetch https://gitlab.com/pipo.sk/libvirt.git checkpoint-bitmap-populate > > Note that the above branch also contains a commit enabling incremental > backup for simpler testing. > > I've pushed the appropriate qemu patches for convenience here: > > git fetch https://gitlab.com/pipo.sk/qemu.git block-dirty-bitmap-populate I'll be posting a new version which doesn't require the 'block-dirty-bitmap-populate' blockjob at the beginning but still simplifies the internals and I'll then base the rest of this series on top of that once the qemu design is ready.