diff options
author | Juan Quintela <quintela@redhat.com> | 2012-06-27 10:59:15 +0200 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2012-07-20 08:19:27 +0200 |
commit | 6bd68781331590c4f2fbd1fdf98e80d7f6588b31 (patch) | |
tree | ae53eee26d30deae6d3ed0ca84b559d0b2819265 /savevm.c | |
parent | 9b5bfab05f7c2a56d5908117e8cc62015e6b2c63 (diff) | |
download | qemu-6bd68781331590c4f2fbd1fdf98e80d7f6588b31.tar.gz qemu-6bd68781331590c4f2fbd1fdf98e80d7f6588b31.tar.bz2 qemu-6bd68781331590c4f2fbd1fdf98e80d7f6588b31.zip |
savevm: introduce is_active method
Enable the creation of a method to tell migration if that section is
active and should be migrate. We use it for blk-migration, that is
normally not active. We don't create the method for RAM, as setups
without RAM are very strange O:-)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'savevm.c')
-rw-r--r-- | savevm.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1576,6 +1576,11 @@ int qemu_savevm_state_begin(QEMUFile *f, if (!se->ops || !se->ops->save_live_state) { continue; } + if (se->ops && se->ops->is_active) { + if (!se->ops->is_active(se->opaque)) { + continue; + } + } /* Section type */ qemu_put_byte(f, QEMU_VM_SECTION_START); qemu_put_be32(f, se->section_id); @@ -1618,6 +1623,11 @@ int qemu_savevm_state_iterate(QEMUFile *f) if (!se->ops || !se->ops->save_live_state) { continue; } + if (se->ops && se->ops->is_active) { + if (!se->ops->is_active(se->opaque)) { + continue; + } + } if (qemu_file_rate_limit(f)) { return 0; } @@ -1658,6 +1668,11 @@ int qemu_savevm_state_complete(QEMUFile *f) if (!se->ops || !se->ops->save_live_state) { continue; } + if (se->ops && se->ops->is_active) { + if (!se->ops->is_active(se->opaque)) { + continue; + } + } trace_savevm_section_start(); /* Section type */ qemu_put_byte(f, QEMU_VM_SECTION_END); |