> On 25 Feb 2026, at 2:37 PM, Daniel P. Berrangé <[email protected]> wrote:
>
> On Wed, Feb 25, 2026 at 11:35:15AM +0530, Prasad Pandit wrote:
>> On Wed, 25 Feb 2026 at 09:23, Ani Sinha <[email protected]> wrote:
>>> Currently the code that adds a migration blocker does not check if the same
>>> blocker already exists. Return an EEXIST error code if there is an attempt
>>> to
>>> add the same migration blocker again. This way the same migration blocker
>>> will
>>> not get added twice.
>>>
>>> Suggested-by: Prasad Pandit <[email protected]>
>>> Signed-off-by: Ani Sinha <[email protected]>
>>> ---
>>> migration/migration.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/migration/migration.c b/migration/migration.c
>>> index a5b0465ed3..1eb75fb7fb 100644
>>> --- a/migration/migration.c
>>> +++ b/migration/migration.c
>>> @@ -1702,6 +1702,10 @@ static int add_blockers(Error **reasonp, unsigned
>>> modes, Error **errp)
>
> This method has an '**errp' parameter.....
>
>>> {
>>> for (MigMode mode = 0; mode < MIG_MODE__MAX; mode++) {
>>> if (modes & BIT(mode)) {
>>> + if (g_slist_index(migration_blockers[mode],
>>> + *reasonp) >= 0) {
>>> + return -EEXIST;
>
> .... so using -errno for return values is not appropriate - it must
> set 'errp' and return -1.
I see functions migrate_add_blocker_modes() or migrate_add_blocker_internal()
that do not do this. This is why I thought it was ok to just return -errno here.
>
>>> + }
>>> migration_blockers[mode] =
>>> g_slist_prepend(migration_blockers[mode],
>>> *reasonp);
>>> }
>>
>> * Looks okay.
>> Reviewed-by: Prasad Pandit <[email protected]>
>>
>> Thank you.
>> ---
>> - Prasad
>>
>>
>
> With regards,
> Daniel
> --
> |: https://berrange.com ~~ https://hachyderm.io/@berrange :|
> |: https://libvirt.org ~~ https://entangle-photo.org :|
> |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|