aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glock.h
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/glock.h
parentfe1bdedc6c16adedc6fd3636185ea91596b1d6eb (diff)
[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/glock.h')
-rw-r--r--fs/gfs2/glock.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h
index b6646e7fed15..ed5bc3e65397 100644
--- a/fs/gfs2/glock.h
+++ b/fs/gfs2/glock.h
@@ -81,10 +81,10 @@ int gfs2_glock_get(struct gfs2_sbd *sdp,
81 int create, struct gfs2_glock **glp); 81 int create, struct gfs2_glock **glp);
82void gfs2_glock_hold(struct gfs2_glock *gl); 82void gfs2_glock_hold(struct gfs2_glock *gl);
83int gfs2_glock_put(struct gfs2_glock *gl); 83int gfs2_glock_put(struct gfs2_glock *gl);
84 84void gfs2_holder_init(struct gfs2_glock *gl, unsigned int state, unsigned flags,
85void gfs2_holder_init(struct gfs2_glock *gl, unsigned int state, int flags,
86 struct gfs2_holder *gh); 85 struct gfs2_holder *gh);
87void gfs2_holder_reinit(unsigned int state, int flags, struct gfs2_holder *gh); 86void gfs2_holder_reinit(unsigned int state, unsigned flags,
87 struct gfs2_holder *gh);
88void gfs2_holder_uninit(struct gfs2_holder *gh); 88void gfs2_holder_uninit(struct gfs2_holder *gh);
89struct gfs2_holder *gfs2_holder_get(struct gfs2_glock *gl, unsigned int state, 89struct gfs2_holder *gfs2_holder_get(struct gfs2_glock *gl, unsigned int state,
90 int flags, gfp_t gfp_flags); 90 int flags, gfp_t gfp_flags);