ocfs2: Prevent a livelock in dlmglue
authorSunil Mushran <sunil.mushran@oracle.com>
Thu, 21 Jan 2010 18:50:03 +0000 (10:50 -0800)
committerJoel Becker <joel.becker@oracle.com>
Wed, 3 Feb 2010 07:51:13 +0000 (23:51 -0800)
There is possibility of a livelock in __ocfs2_cluster_lock(). If a node were
to get an ast for an upconvert request, followed immediately by a bast,
there is a small window where the fs may downconvert the lock before the
process requesting the upconvert is able to take the lock.

This patch adds a new flag to indicate that the upconvert is still in
progress and that the dc thread should not downconvert it right now.

Wengang Wang <wen.gang.wang@oracle.com> and Joel Becker
<joel.becker@oracle.com> contributed heavily to this patch.

Reported-by: David Teigland <teigland@redhat.com>
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>

No differences found