linux/fs/ocfs2/dlm
Sunil Mushran 388c4bcb4e ocfs2/dlm: Migrate lockres with no locks if it has a reference
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: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-12-09 15:36:00 -08:00
..
dlmapi.h ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmast.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmcommon.h ocfs2/dlm: Add message DLM_QUERY_NODEINFO 2010-10-07 16:47:03 -07:00
dlmconvert.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmconvert.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmdebug.c Merge branch 'globalheartbeat-2' of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2-merge-window 2010-10-15 13:03:09 -07:00
dlmdebug.h [PATCH 2/3] ocfs2/dlm: Silence build warnings 2008-05-30 15:15:10 -07:00
dlmdomain.c ocfs2/cluster: Bump up dlm protocol to version 1.1 2010-10-09 10:27:04 -07:00
dlmdomain.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmlock.c fs/ocfs2/dlm: Drop memory allocation cast 2010-05-18 12:31:10 -07:00
dlmmaster.c ocfs2/dlm: Migrate lockres with no locks if it has a reference 2010-12-09 15:36:00 -08:00
dlmrecovery.c ocfs2/dlm: avoid incorrect bit set in refmap on recovery master 2010-08-07 10:49:41 -07:00
dlmthread.c ocfs2/dlm: avoid incorrect bit set in refmap on recovery master 2010-08-07 10:49:41 -07:00
dlmunlock.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
dlmver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
Makefile ocfs2_dlmfs: Move to its own directory 2010-02-26 15:41:14 -08:00