07.11.2016 19:10, Max Reitz wrote:
On 07.11.2016 16:24, Vladimir Sementsov-Ogievskiy wrote:
Hi all!
As I can see, in bdrv_snapshot_goto, existing dirty bitmaps are not
handled.. Is it ok? Should not they be filled with ones or something
like this?
Filling them with ones makes sense to me. I guess nobody noticed because
nobody was crazy enough to use block jobs alongside loadvm...
Using block jobs is not necessary - we just have to maintain our dirty
bitmap while qemu works, regardless of block jobs.
Also, when we will have persistent bitmaps in qcow2, haw they should be
handled on snapshot switching?
Good question. Since persistent bitmaps are not bound to snapshots, I'd
fill them with ones for now, too.
It would probably make sense to bind bitmaps to snapshots, though. This
could be achieved by adding a bitmap directory pointer to each snapshot
table entry. When switching snapshots, software (i.e. qemu) could then
either:
(1) Fill the bitmaps with ones, thus treating them as "global" bitmaps.
(2) Save the current bitmap directory in the old snapshot and put the
one from the snapshot that is being switched to into the image header,
thus treating them as bound to the snapshot.
Of course, this could be a bitmap-specific property.
Max
--
Best regards,
Vladimir