summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/meta_io.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-04-20 16:57:23 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-04-20 16:57:23 -0400
commit190562bd84a484bf6590425aa2bb4d6d611c112b (patch)
treedd99bcd847f8d2376f7836ea9d861a31d1021c71 /fs/gfs2/meta_io.c
parentfe1bdedc6c16adedc6fd3636185ea91596b1d6eb (diff)
downloadlinux-190562bd84a484bf6590425aa2bb4d6d611c112b.tar.gz
linux-190562bd84a484bf6590425aa2bb4d6d611c112b.tar.bz2
linux-190562bd84a484bf6590425aa2bb4d6d611c112b.zip
[GFS2] Fix a bug: scheduling under a spinlock
At some stage, a mutex was added to gfs2_glock_put() without checking all its call sites. Two of them were called from under a spinlock causing random delays at various points and crashes. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/meta_io.c')
-rw-r--r--fs/gfs2/meta_io.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/gfs2/meta_io.c b/fs/gfs2/meta_io.c
index 74cf28e77b47..da49973a90d1 100644
--- a/fs/gfs2/meta_io.c
+++ b/fs/gfs2/meta_io.c
@@ -214,6 +214,8 @@ void gfs2_ail1_start_one(struct gfs2_sbd *sdp, struct gfs2_ail *ai)
struct buffer_head *bh;
int retry;
+ BUG_ON(!spin_is_locked(&sdp->sd_log_lock));
+
do {
retry = 0;