On 04/25/2018 07:46 AM, Pavel Dovgalyuk wrote: > This patch introduces the icount field for saving within the snapshot. > It is required for navigation between the snapshots in record/replay mode. > > Signed-off-by: Pavel Dovgalyuk <[email protected]> > --- > block/qcow2-snapshot.c | 9 +++++++++ > block/qcow2.h | 2 ++ > 2 files changed, 11 insertions(+)
Missing a change to docs/interop/qcow2.txt. You cannot add new features
into the qcow2 internal snapshot metadata without first documenting them
as part of the qcow2 spec.
>
> diff --git a/block/qcow2-snapshot.c b/block/qcow2-snapshot.c
> index 74293be..4f2357e 100644
> --- a/block/qcow2-snapshot.c
> +++ b/block/qcow2-snapshot.c
> @@ -103,6 +103,12 @@ int qcow2_read_snapshots(BlockDriverState *bs)
> sn->disk_size = bs->total_sectors * BDRV_SECTOR_SIZE;
> }
>
> + if (extra_data_size >= 24) {
> + sn->icount = be64_to_cpu(extra.icount);
That's VERY dangerous without a spec change. If someone else adds extra
data in some other format, then you will misinterpret their extra
information as your icount information.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
