Ani Sinha <[email protected]> writes:

> Currently the code that adds a migration blocker does not check if the same
> blocker already exists. Assert that the migration handler being added has
> not been added already.
>
> CC: Markus Armbruster <[email protected]>
> CC: Peter Xu <[email protected]>
> CC: Prasad Pandit <[email protected]>
> Signed-off-by: Ani Sinha <[email protected]>
> ---
>  migration/migration.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index a5b0465ed3..840cf0dfe2 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1702,6 +1702,8 @@ static int add_blockers(Error **reasonp, unsigned 
> modes, Error **errp)
>  {
>      for (MigMode mode = 0; mode < MIG_MODE__MAX; mode++) {
>          if (modes & BIT(mode)) {
> +            assert(g_slist_index(migration_blockers[mode],
> +                                     *reasonp) == -1);

Indentation is off.

Have we run into such extra additions, or is this just out of caution?

What would happen if such an extra addition went uncaught?

>              migration_blockers[mode] = 
> g_slist_prepend(migration_blockers[mode],
>                                                         *reasonp);
>          }


Reply via email to