[PATCH] migration: initialise compression_counters for a new migration

yuxiating posted 1 patch 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210902115117.5633-1-yuxiating@huawei.com
Maintainers: Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
migration/migration.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] migration: initialise compression_counters for a new migration
Posted by yuxiating 2 years, 7 months ago
If the compression migration fails or is canceled, the query for the value of
compression_counters during the next compression migration is wrong.

Signed-off-by: yuxiating <yuxiating@huawei.com>
---
 migration/migration.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/migration/migration.c b/migration/migration.c
index bb909781b7..f20bc560e5 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2252,10 +2252,11 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
 
     migrate_init(s);
     /*
-     * set ram_counters memory to zero for a
+     * set ram_counters compression_counters memory to zero for a
      * new migration
      */
     memset(&ram_counters, 0, sizeof(ram_counters));
+    memset(&compression_counters, 0, sizeof(compression_counters));
 
     return true;
 }
-- 
2.24.0.windows.2


Re: [PATCH] migration: initialise compression_counters for a new migration
Posted by Juan Quintela 2 years, 5 months ago
yuxiating <yuxiating@huawei.com> wrote:
> If the compression migration fails or is canceled, the query for the value of
> compression_counters during the next compression migration is wrong.
>
> Signed-off-by: yuxiating <yuxiating@huawei.com>
> ---
>  migration/migration.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index bb909781b7..f20bc560e5 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2252,10 +2252,11 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
>  
>      migrate_init(s);
>      /*
> -     * set ram_counters memory to zero for a
> +     * set ram_counters compression_counters memory to zero for a
>       * new migration
>       */
>      memset(&ram_counters, 0, sizeof(ram_counters));
> +    memset(&compression_counters, 0, sizeof(compression_counters));
>  
>      return true;
>  }

Once here, we are not initializing them on qemu_savevm_state() either.

Reviewed-by: Juan Quintela <quintela@redhat.com>

queue.