Discussion:
[vbox-dev] About .SAV file created by snapshots
prabhjeet kaur
2012-10-11 05:32:31 UTC
Permalink
Dear Members

How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.

Regards,
Prabhjeet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20121011/7303ede0/attachment.html
Frank Mehnert
2012-10-11 07:37:39 UTC
Permalink
Prabhjeet,
Post by prabhjeet kaur
How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.
a .sav file contains always the *complete* state of the guest at a certain
point in time. It does *not* contain any information stored on external
devices like virtual disks. When a snapshot is created, a .sav file is
created containing the VM state which is required to restore the guest
state for that time and a new differential disk image is created for each
virtual disk (which is not attached in some special mode to prevent that).
From now on, guest disk write requests go to the differential image. When
you restore a snapshat, the differential image is removed so all changes
to the disk after the snapshot was created are lost.

A .sav file is created using the SSM (saved state manager) code. You will
find the API in include/VBox/vmm/ssm.h and src/VBox/VMM/VMMR3/SSM.cpp.

Kind regards,

Frank
--
Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

Hauptverwaltung: Riesstr. 25, D-80992 M?nchen
Registergericht: Amtsgericht M?nchen, HRA 95603
Gesch?ftsf?hrer: J?rgen Kunz

Komplement?rin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://www.virtualbox.org/pipermail/vbox-dev/attachments/20121011/31609db8/attachment.bin
Klaus Espenlaub
2012-10-11 16:03:05 UTC
Permalink
Post by Frank Mehnert
Prabhjeet,
Post by prabhjeet kaur
How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.
a .sav file contains always the *complete* state of the guest at a certain
point in time. It does *not* contain any information stored on external
devices like virtual disks. When a snapshot is created, a .sav file is
created containing the VM state which is required to restore the guest
state for that time and a new differential disk image is created for each
virtual disk (which is not attached in some special mode to prevent that).
From now on, guest disk write requests go to the differential image. When
you restore a snapshat, the differential image is removed so all changes
to the disk after the snapshot was created are lost.
A .sav file is created using the SSM (saved state manager) code. You will
find the API in include/VBox/vmm/ssm.h and src/VBox/VMM/VMMR3/SSM.cpp.
I read between the lines that the original poster might want to dissect
the contents of a .sav file, and while that's possible in principle
using SMM there is a lot of information in it which exists in various
formats (identified by the version of the particular unit), and the code
to interpret the meaning is spread around a lot. Every entity (device
emulation etc etc) which needs to save some state is just responsible
for itself. So the code using SSM is not centralized.

So I wouldn't recommend spending time on extracting information from
saved state files. They are designed to do be used just internally to
retain the necessary information.

Klaus
Post by Frank Mehnert
Kind regards,
Frank
Klaus Espenlaub
2012-10-11 16:03:05 UTC
Permalink
Post by Frank Mehnert
Prabhjeet,
Post by prabhjeet kaur
How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.
a .sav file contains always the *complete* state of the guest at a certain
point in time. It does *not* contain any information stored on external
devices like virtual disks. When a snapshot is created, a .sav file is
created containing the VM state which is required to restore the guest
state for that time and a new differential disk image is created for each
virtual disk (which is not attached in some special mode to prevent that).
From now on, guest disk write requests go to the differential image. When
you restore a snapshat, the differential image is removed so all changes
to the disk after the snapshot was created are lost.
A .sav file is created using the SSM (saved state manager) code. You will
find the API in include/VBox/vmm/ssm.h and src/VBox/VMM/VMMR3/SSM.cpp.
I read between the lines that the original poster might want to dissect
the contents of a .sav file, and while that's possible in principle
using SMM there is a lot of information in it which exists in various
formats (identified by the version of the particular unit), and the code
to interpret the meaning is spread around a lot. Every entity (device
emulation etc etc) which needs to save some state is just responsible
for itself. So the code using SSM is not centralized.

So I wouldn't recommend spending time on extracting information from
saved state files. They are designed to do be used just internally to
retain the necessary information.

Klaus
Post by Frank Mehnert
Kind regards,
Frank
prabhjeet kaur
2012-10-11 05:32:31 UTC
Permalink
Dear Members

How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.

Regards,
Prabhjeet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20121011/7303ede0/attachment-0002.html
Frank Mehnert
2012-10-11 07:37:39 UTC
Permalink
Prabhjeet,
Post by prabhjeet kaur
How one can read the .SAV file created by snapshots. In which form
snapshots save the details regarding difference from the last snapshot,
memory details, etc... Where the API of snapshot is available.
a .sav file contains always the *complete* state of the guest at a certain
point in time. It does *not* contain any information stored on external
devices like virtual disks. When a snapshot is created, a .sav file is
created containing the VM state which is required to restore the guest
state for that time and a new differential disk image is created for each
virtual disk (which is not attached in some special mode to prevent that).
From now on, guest disk write requests go to the differential image. When
you restore a snapshat, the differential image is removed so all changes
to the disk after the snapshot was created are lost.

A .sav file is created using the SSM (saved state manager) code. You will
find the API in include/VBox/vmm/ssm.h and src/VBox/VMM/VMMR3/SSM.cpp.

Kind regards,

Frank
--
Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

Hauptverwaltung: Riesstr. 25, D-80992 M?nchen
Registergericht: Amtsgericht M?nchen, HRA 95603
Gesch?ftsf?hrer: J?rgen Kunz

Komplement?rin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://www.virtualbox.org/pipermail/vbox-dev/attachments/20121011/31609db8/attachment-0002.bin
Loading...