On Wed, Feb 25, 2026 at 03:04:27PM +0530, Ani Sinha wrote:
> 
> 
> > 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.

Yes they all set 'errp', but indirectly:

    if (is_only_migratable(reasonp, modes, errp)) {
        return -EACCES;
    } else if (is_busy(reasonp, errp)) {
        return -EBUSY;
    }

In this case 'is_busy' and 'is_only_migratable' will be setting 'errp'.


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 :|


Reply via email to