aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/aops.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-08-10 18:04:43 -0700
committerColin Cross <ccross@android.com>2011-08-10 18:04:43 -0700
commitd2c3c40789e6645e40c8538182acf7a6831d1db3 (patch)
tree39d26f98a61fbed58d59586bbc7fe97b176e4c33 /fs/gfs2/aops.c
parent526bc12ba4772b1301dfaae17572181f4a82cb41 (diff)
parent02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff)
downloadkernel_samsung_tuna-d2c3c40789e6645e40c8538182acf7a6831d1db3.zip
kernel_samsung_tuna-d2c3c40789e6645e40c8538182acf7a6831d1db3.tar.gz
kernel_samsung_tuna-d2c3c40789e6645e40c8538182acf7a6831d1db3.tar.bz2
Merge commit 'v3.0' into linux-omap-3.0
Diffstat (limited to 'fs/gfs2/aops.c')
-rw-r--r--fs/gfs2/aops.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 802ac5e..f9fbbe9 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -1069,6 +1069,7 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
return 0;
gfs2_log_lock(sdp);
+ spin_lock(&sdp->sd_ail_lock);
head = bh = page_buffers(page);
do {
if (atomic_read(&bh->b_count))
@@ -1080,6 +1081,7 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
goto not_possible;
bh = bh->b_this_page;
} while(bh != head);
+ spin_unlock(&sdp->sd_ail_lock);
gfs2_log_unlock(sdp);
head = bh = page_buffers(page);
@@ -1112,6 +1114,7 @@ not_possible: /* Should never happen */
WARN_ON(buffer_dirty(bh));
WARN_ON(buffer_pinned(bh));
cannot_release:
+ spin_unlock(&sdp->sd_ail_lock);
gfs2_log_unlock(sdp);
return 0;
}