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)
commit7286b31eaba6404fa92f68d04626da1f395b3916
tree1576b582aae540bb0069654b2c2d8171692dce73
parent7c0ef28a2c9a768ffb63c1c3d9542b6e175ab260
GFS2: Take glock reference in examine_bucket()

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>
fs/gfs2/glock.c
This page took 0.035101 seconds and 5 git commands to generate.