diff options
author | Wei Yang | 2019-07-09 16:09:24 +0200 |
---|---|---|
committer | Dr. David Alan Gilbert | 2019-08-14 18:33:14 +0200 |
commit | e326767b455e031a9bd187adfcbaca4362cb9f40 (patch) | |
tree | 75d58a558c46ff2f676d988ae2bcf845d4880311 /migration | |
parent | migration/savevm: split qemu_savevm_state_complete_precopy() into two parts (diff) | |
download | qemu-e326767b455e031a9bd187adfcbaca4362cb9f40.tar.gz qemu-e326767b455e031a9bd187adfcbaca4362cb9f40.tar.xz qemu-e326767b455e031a9bd187adfcbaca4362cb9f40.zip |
migration/savevm: move non SaveStateEntry condition check out of iteration
in_postcopy and iterable_only are not SaveStateEntry specific, it would
be more proper to check them out of iteration.
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Message-Id: <20190709140924.13291-4-richardw.yang@linux.intel.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r-- | migration/savevm.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/migration/savevm.c b/migration/savevm.c index 63545a3026..69a827a92f 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1247,8 +1247,7 @@ void qemu_savevm_state_complete_postcopy(QEMUFile *f) } static -int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy, - bool iterable_only) +int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy) { SaveStateEntry *se; int ret; @@ -1257,7 +1256,6 @@ int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy, if (!se->ops || (in_postcopy && se->ops->has_postcopy && se->ops->has_postcopy(se->opaque)) || - (in_postcopy && !iterable_only) || !se->ops->save_live_complete_precopy) { continue; } @@ -1369,10 +1367,11 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, cpu_synchronize_all_states(); - ret = qemu_savevm_state_complete_precopy_iterable(f, in_postcopy, - iterable_only); - if (ret) { - return ret; + if (!in_postcopy || iterable_only) { + ret = qemu_savevm_state_complete_precopy_iterable(f, in_postcopy); + if (ret) { + return ret; + } } if (iterable_only) { |