GFS2: Instruct DLM to avoid queue convert slowdown
authorBob Peterson <rpeterso@redhat.com>
Tue, 10 Apr 2012 18:45:24 +0000 (14:45 -0400)
committerVarun Wadekar <vwadekar@nvidia.com>
Mon, 30 Apr 2012 12:28:09 +0000 (17:28 +0530)
commitb2724410d47511c0b73b5df5eb0341148879157d
tree03ded09c6594dfec12df92209a4ffad03d192eca
parent3805a787c93a7ec07988880e8940f7ce38bc9b87
GFS2: Instruct DLM to avoid queue convert slowdown

This patch instructs DLM to prevent an "in place" conversion, where the
lock just stays on the granted queue, and instead forces the conversion to
the back of the convert queue. This is done on upward conversions only.

This is useful in cases where, for example, a lock is frequently needed in
PR on one node, but another node needs it temporarily in EX to update it.
This may happen, for example, when the rindex is being updated by gfs2_grow.
The gfs2_grow needs to have the lock in EX, but the other nodes need to
re-read it to retrieve the updates. The glock is already granted in PR on
the non-growing nodes, so this prevents them from continually re-granting
the lock in PR, and forces the EX from gfs2_grow to go through.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/lock_dlm.c