Skip to content
  • xuejiufei's avatar
    ocfs2/dlm: ignore cleaning the migration mle that is inuse · bef5502d
    xuejiufei authored
    
    
    We have found that migration source will trigger a BUG that the refcount
    of mle is already zero before put when the target is down during
    migration.  The situation is as follows:
    
    dlm_migrate_lockres
      dlm_add_migration_mle
      dlm_mark_lockres_migrating
      dlm_get_mle_inuse
      <<<<<< Now the refcount of the mle is 2.
      dlm_send_one_lockres and wait for the target to become the
      new master.
      <<<<<< o2hb detect the target down and clean the migration
      mle. Now the refcount is 1.
    
    dlm_migrate_lockres woken, and put the mle twice when found the target
    goes down which trigger the BUG with the following message:
    
      "ERROR: bad mle: ".
    
    Signed-off-by: default avatarJiufei Xue <xuejiufei@huawei.com>
    Reviewed-by: default avatarJoseph Qi <joseph.qi@huawei.com>
    Cc: Mark Fasheh <mfasheh@suse.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Junxiao Bi <junxiao.bi@oracle.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    bef5502d