GFS2: Add origin indicator to glock callbacks
authorSteven Whitehouse <swhiteho@redhat.com>
Wed, 10 Apr 2013 09:26:55 +0000 (10:26 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Wed, 10 Apr 2013 09:26:55 +0000 (10:26 +0100)
commit81ffbf654f0cfeeb44e69832b3d301958a4108d8
tree7c9c2d1c91dc2f696ea7cd0db25a28987195fcf6
parent16ca9412d8018188bddda29c3fee88471b94e3cb
GFS2: Add origin indicator to glock callbacks

This patch adds a bool indicating whether the demote
request was originated locally or remotely. This is then
used by the iopen ->go_callback() to make 100% sure that
it will only respond to remote callbacks.

Since ->evict_inode() uses GL_NOCACHE when it attempts to
get an exclusive lock on the iopen lock, this may result
in extra scheduling of the workqueue in case that the
exclusive promotion request failed. This patch prevents
that from happening.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/glock.c
fs/gfs2/glops.c
fs/gfs2/incore.h