diff options
| author | Vladimir Sementsov-Ogievskiy | 2018-03-13 20:34:00 +0100 |
|---|---|---|
| committer | John Snow | 2018-03-13 22:05:41 +0100 |
| commit | 4799502640e6a29d37dacb116a590fc03bacbb01 (patch) | |
| tree | fc0d7233ce4741e9276f200e7d3917cd9c9d5dd4 /include | |
| parent | dirty-bitmap: add locked state (diff) | |
| download | qemu-4799502640e6a29d37dacb116a590fc03bacbb01.tar.gz qemu-4799502640e6a29d37dacb116a590fc03bacbb01.tar.xz qemu-4799502640e6a29d37dacb116a590fc03bacbb01.zip | |
migration: introduce postcopy-only pending
There would be savevm states (dirty-bitmap) which can migrate only in
postcopy stage. The corresponding pending is introduced here.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-id: 20180313180320.339796-6-vsementsov@virtuozzo.com
Diffstat (limited to 'include')
| -rw-r--r-- | include/migration/register.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/migration/register.h b/include/migration/register.h index f4f7bdc177..9436a87678 100644 --- a/include/migration/register.h +++ b/include/migration/register.h @@ -37,8 +37,21 @@ typedef struct SaveVMHandlers { int (*save_setup)(QEMUFile *f, void *opaque); void (*save_live_pending)(QEMUFile *f, void *opaque, uint64_t threshold_size, - uint64_t *non_postcopiable_pending, - uint64_t *postcopiable_pending); + uint64_t *res_precopy_only, + uint64_t *res_compatible, + uint64_t *res_postcopy_only); + /* Note for save_live_pending: + * - res_precopy_only is for data which must be migrated in precopy phase + * or in stopped state, in other words - before target vm start + * - res_compatible is for data which may be migrated in any phase + * - res_postcopy_only is for data which must be migrated in postcopy phase + * or in stopped state, in other words - after source vm stop + * + * Sum of res_postcopy_only, res_compatible and res_postcopy_only is the + * whole amount of pending data. + */ + + LoadStateHandler *load_state; int (*load_setup)(QEMUFile *f, void *opaque); int (*load_cleanup)(void *opaque); |
