Skip to content
  • Michael R. Hines's avatar
    rdma: allow state transitions between other states besides ACTIVE · d58f574b
    Michael R. Hines authored
    
    
    This patch is in preparation for the next ones: Until now the MIG_STATE_SETUP
    state was not really a 'formal' state. It has been used as a 'zero' state
    and QEMU has been unconditionally transitioning into this state when
    the QMP migrate command was called. In preparation for timing this state,
    we have to make this state a a 'real' state which actually gets transitioned
    from later in the migration_thread() from SETUP => ACTIVE, rather than just
    automatically dropping into this state at the beginninig of the migration.
    
    This means that the state transition function (migration_finish_set_state())
    needs to be capable of transitioning from valid states _other_ than just
    MIG_STATE_ACTIVE.
    
    The function is in fact already capable of doing that, but was not allowing the
    old state to be a parameter specified as an input.
    
    This patch fixes that and only makes the transition if the current state
    matches the old state that the caller intended to transition from.
    
    Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
    Tested-by: default avatarMichael R. Hines <mrhines@us.ibm.com>
    Signed-off-by: default avatarMichael R. Hines <mrhines@us.ibm.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
    d58f574b