diff mbox series

[3/4] migration/savevm: load_header before load_setup

Message ID 20190424004700.12766-4-richardw.yang@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series cleanup savevm | expand

Commit Message

Wei Yang April 24, 2019, 12:46 a.m. UTC
In migration_thread() and qemu_savevm_state(), we savevm_state in
following sequence:

    qemu_savevm_state_header(f);
    qemu_savevm_state_setup(f);

Then it would be more proper to loadvm_state in the save sequence.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
 migration/savevm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Dr. David Alan Gilbert May 14, 2019, 3:45 p.m. UTC | #1
* Wei Yang (richardw.yang@linux.intel.com) wrote:
> In migration_thread() and qemu_savevm_state(), we savevm_state in
> following sequence:
> 
>     qemu_savevm_state_header(f);
>     qemu_savevm_state_setup(f);
> 
> Then it would be more proper to loadvm_state in the save sequence.
> 
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>

Yes, OK, I think that makes sense; the loadvm_state_setup
and savevm_state_setup are actually quite different in what they do,
however it does make sense to do the loadvm_state_setup after
we have the configuration loaded, because then potentially it means
we can alter the setup.


Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>


> ---
>  migration/savevm.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 6c61056cde..a80ae83663 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -2427,10 +2427,6 @@ int qemu_loadvm_state(QEMUFile *f)
>          return -ENOTSUP;
>      }
>  
> -    if (qemu_loadvm_state_setup(f) != 0) {
> -        return -EINVAL;
> -    }
> -
>      if (migrate_get_current()->send_configuration) {
>          if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) {
>              error_report("Configuration section missing");
> @@ -2445,6 +2441,10 @@ int qemu_loadvm_state(QEMUFile *f)
>          }
>      }
>  
> +    if (qemu_loadvm_state_setup(f) != 0) {
> +        return -EINVAL;
> +    }
> +
>      cpu_synchronize_all_pre_loadvm();
>  
>      ret = qemu_loadvm_state_main(f, mis);
> -- 
> 2.19.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox series

Patch

diff --git a/migration/savevm.c b/migration/savevm.c
index 6c61056cde..a80ae83663 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2427,10 +2427,6 @@  int qemu_loadvm_state(QEMUFile *f)
         return -ENOTSUP;
     }
 
-    if (qemu_loadvm_state_setup(f) != 0) {
-        return -EINVAL;
-    }
-
     if (migrate_get_current()->send_configuration) {
         if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) {
             error_report("Configuration section missing");
@@ -2445,6 +2441,10 @@  int qemu_loadvm_state(QEMUFile *f)
         }
     }
 
+    if (qemu_loadvm_state_setup(f) != 0) {
+        return -EINVAL;
+    }
+
     cpu_synchronize_all_pre_loadvm();
 
     ret = qemu_loadvm_state_main(f, mis);