[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>
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 6140c24..fb5a4d0 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -409,8 +409,8 @@
spin_lock(&io_gl->gl_spin);
io_gl->gl_object = NULL;
- gfs2_glock_put(i_gl);
spin_unlock(&io_gl->gl_spin);
+ gfs2_glock_put(i_gl);
gfs2_glock_dq_uninit(&ip->i_iopen_gh);