qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/1] Avoid migration if guest is in postmigrated status


From: Li Zhang
Subject: Re: [PATCH 1/1] Avoid migration if guest is in postmigrated status
Date: Wed, 9 Dec 2020 17:55:43 +0800


Thanks for telling me that. I didn't notice this patch. 
I just caught this error when I used it and read the source code, it should be fixed. 

Thanks
Li

On Wed, Dec 9, 2020 at 5:23 PM David Edmondson <dme@dme.org> wrote:
On Wednesday, 2020-12-09 at 07:20:29 GMT, Li Zhang wrote:

> This patch is to avoid executing migrations twice, which causes
> coredump. After the migration has been completed, guest is in postmigrated
> status on source host and the block device is inactive. If executing
> migration again, it will cause coredump and a block error. For exmaple,
> executing #migrate "exec:cat>file" twice on source host, block error:
> bdrv_inactivate_recurse: Assertion `!(bs->open_flags & BDRV_O_INACTIVE)' failed
>
> Signed-off-by: Li Zhang <li.zhang@cloud.ionos.com>

There is an existing proposal for this (the same approach) in
6b704294ad2e405781c38fb38d68c744@h3c.com" rel="noreferrer" target="_blank">https://lore.kernel.org/r/6b704294ad2e405781c38fb38d68c744@h3c.com.

> ---
>  migration/migration.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 87a9b59f83..113f7e1e41 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2115,6 +2115,11 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
>          return false;
>      }

> +    if (runstate_check(RUN_STATE_POSTMIGRATE)) {
> +        error_setg(errp, "Unable to migrate, guest has been migrated");
> +        return false;
> +    }
> +
>      if (migration_is_blocked(errp)) {
>          return false;
>      }
> --
> 2.18.4

dme.
--
Ah, oh your hair is beautiful.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]