GFS2: Take glock reference in examine_bucket()
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 20 Aug 2013 08:35:09 +0000 (09:35 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 20 Aug 2013 08:35:09 +0000 (09:35 +0100)
We need to check the glock ref counter in a race free way
in order to ensure that the gfs2_glock_hold() call will
succeed. The easiest way to do that is to simply take the
reference count early in the common code of examine_bucket,
skipping any glocks with zero ref count.

That means that the examiner functions all need to put their
reference on the glock once they've performed their function.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Reported-by: David Teigland <teigland@redhat.com>
Tested-by: David Teigland <teigland@redhat.com>

No differences found