[PATCH] migration: fix dump-vmstate with modules

Laurent Vivier posted 1 patch 4 years, 2 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211116072840.132731-1-lvivier@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
softmmu/vl.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] migration: fix dump-vmstate with modules
Posted by Laurent Vivier 4 years, 2 months ago
To work correctly -dump-vmstate and vmstate-static-checker.py need to
dump all the supported vmstates.

But as some devices can be modules, they are not loaded at startup and not
dumped. Fix that by loading all available modules before dumping the
machine vmstate.

Fixes: 7ab6e7fcce97 ("qdev: device module support")
Cc: kraxel@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
---
 softmmu/vl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 1159a64bce4e..620a1f1367e2 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -3766,6 +3766,7 @@ void qemu_init(int argc, char **argv, char **envp)
 
     if (vmstate_dump_file) {
         /* dump and exit */
+        module_load_qom_all();
         dump_vmstate_json_to_file(vmstate_dump_file);
         exit(0);
     }
-- 
2.33.1


Re: [PATCH-for-6.2] migration: fix dump-vmstate with modules
Posted by Philippe Mathieu-Daudé 4 years, 2 months ago
On 11/16/21 08:28, Laurent Vivier wrote:
> To work correctly -dump-vmstate and vmstate-static-checker.py need to
> dump all the supported vmstates.
> 
> But as some devices can be modules, they are not loaded at startup and not
> dumped. Fix that by loading all available modules before dumping the
> machine vmstate.
> 
> Fixes: 7ab6e7fcce97 ("qdev: device module support")
> Cc: kraxel@redhat.com
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> ---
>  softmmu/vl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 1159a64bce4e..620a1f1367e2 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -3766,6 +3766,7 @@ void qemu_init(int argc, char **argv, char **envp)
>  
>      if (vmstate_dump_file) {
>          /* dump and exit */
> +        module_load_qom_all();
>          dump_vmstate_json_to_file(vmstate_dump_file);
>          exit(0);
>      }
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


Re: [PATCH] migration: fix dump-vmstate with modules
Posted by Laurent Vivier 4 years, 2 months ago
I think it would be good to have this in 6.2

Thanks,
Laurent

On 16/11/2021 08:28, Laurent Vivier wrote:
> To work correctly -dump-vmstate and vmstate-static-checker.py need to
> dump all the supported vmstates.
> 
> But as some devices can be modules, they are not loaded at startup and not
> dumped. Fix that by loading all available modules before dumping the
> machine vmstate.
> 
> Fixes: 7ab6e7fcce97 ("qdev: device module support")
> Cc: kraxel@redhat.com
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> ---
>   softmmu/vl.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 1159a64bce4e..620a1f1367e2 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -3766,6 +3766,7 @@ void qemu_init(int argc, char **argv, char **envp)
>   
>       if (vmstate_dump_file) {
>           /* dump and exit */
> +        module_load_qom_all();
>           dump_vmstate_json_to_file(vmstate_dump_file);
>           exit(0);
>       }
>