]> bbs.cooldavid.org Git - net-next-2.6.git/commit - fs/gfs2/aops.c
[GFS2] Revise readpage locking
authorSteven Whitehouse <swhiteho@redhat.com>
Mon, 2 Jun 2008 08:14:54 +0000 (09:14 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 27 Jun 2008 08:39:37 +0000 (09:39 +0100)
commit01b7c7ae88a6376c508b35a22bb61e04cb1b37f0
tree01276b4382270285375540682d1eddf2a167103d
parent80274737220f8c5ea75696dde4c5c7feba39456f
[GFS2] Revise readpage locking

The previous attempt to fix the locking in readpage failed due
to the use of a "try lock" which resulted in occasional high
cpu usage during testing (due to repeated tries) and also it
did not resolve all the ordering problems wrt the transaction
lock (although it did solve all the inode lock ordering problems).

This patch avoids the problem by unlocking the page and getting the
locks in the correct order. This means that we have to retest the
page to ensure that it hasn't changed when we relock the page.

This now passes the tests which were previously failing.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/ops_address.c