• Sunil Mushran's avatar
    ocfs2/dlm: Migrate lockres with no locks if it has a reference · 388c4bcb
    Sunil Mushran authored
    o2dlm was not migrating resources with zero locks because it assumed that that
    resource would get purged by dlm_thread. However, some usage patterns involve
    creating and dropping locks at a high rate leading to the migrate thread seeing
    zero locks but the purge thread seeing an active reference. When this happens,
    the dlm_thread cannot purge the resource and the migrate thread sees no reason
    to migrate that resource. The spell is broken when the migrate thread catches
    the resource with a lock.
    
    The fix is to make the migrate thread also consider the reference map.
    
    This usage pattern can be triggered by userspace on userdlm locks and flocks.
    Signed-off-by: default avatarSunil Mushran <sunil.mushran@oracle.com>
    Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
    388c4bcb
dlmmaster.c 95.8 KB