[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);