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 <pavel.dovga...@ispras.ru> > --- > 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