diff options
author | Juan Quintela <quintela@redhat.com> | 2010-07-26 21:38:43 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-07-26 16:19:51 -0500 |
commit | 811814bd2859ff272320f0c5765b0605f90ce7b3 (patch) | |
tree | 375e788793249a501508d3084a881da4d139befc /hw | |
parent | 57338424aa6808c65b85c43ec66f9c88a01c559e (diff) | |
download | qemu-811814bd2859ff272320f0c5765b0605f90ce7b3.zip qemu-811814bd2859ff272320f0c5765b0605f90ce7b3.tar.gz qemu-811814bd2859ff272320f0c5765b0605f90ce7b3.tar.bz2 |
vmstate: add subsections code
This commit adds subsections for each device section.
Subsections is the way to handle information that don't need to be sent
to de destination of a migration because its values are not needed. It is
the way to handle optional information. Notice that only the source can
decide if the information is optional or not. The destination needs to
understand all subsections that it receives to have a sucessful load.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/hw.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -313,6 +313,11 @@ typedef struct { bool (*field_exists)(void *opaque, int version_id); } VMStateField; +typedef struct VMStateSubsection { + const VMStateDescription *vmsd; + bool (*needed)(void *opaque); +} VMStateSubsection; + struct VMStateDescription { const char *name; int version_id; @@ -323,6 +328,7 @@ struct VMStateDescription { int (*post_load)(void *opaque, int version_id); void (*pre_save)(void *opaque); VMStateField *fields; + const VMStateSubsection *subsections; }; extern const VMStateInfo vmstate_info_int8; |