diff options
author | David S. Miller <davem@davemloft.net> | 2011-07-21 13:38:42 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-21 13:38:42 -0700 |
commit | 033b1142f4bd44a116d1356fe4a0510437ceddf9 (patch) | |
tree | d2a971a7dc9f3a1af8035e38419c4c4ad8c22632 /fs/gfs2/aops.c | |
parent | f5caadbb3d8fc0b71533e880c684b2230bdb76ac (diff) | |
parent | e6625fa48e6580a74b7e700efd7e6463e282810b (diff) | |
download | kernel_replicant_linux-033b1142f4bd44a116d1356fe4a0510437ceddf9.tar.gz kernel_replicant_linux-033b1142f4bd44a116d1356fe4a0510437ceddf9.tar.bz2 kernel_replicant_linux-033b1142f4bd44a116d1356fe4a0510437ceddf9.zip |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
net/bluetooth/l2cap_core.c
Diffstat (limited to 'fs/gfs2/aops.c')
-rw-r--r-- | fs/gfs2/aops.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 802ac5eeba28..f9fbbe96c222 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; } |