aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/super.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2010-01-08 11:14:29 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2010-03-01 09:07:53 -0500
commitc1184f8ab7ea26681f3cab18284a870aad678b0f (patch)
treefec6b61ba9b1aa16aab0d1dfabf63a21bbe47ac7 /fs/gfs2/super.c
parent009d851837ab26cab18adda6169a813f70b0b21b (diff)
GFS2: Remove loopy umount code
As a consequence of the previous patch, we can now remove the loop which used to be required due to the circular dependency between the inodes and glocks. Instead we can just invalidate the inodes, and then clear up any glocks which are left. Also we no longer need the rwsem since there is no longer any danger of the inode invalidation calling back into the glock code (and from there back into the inode code). Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/super.c')
-rw-r--r--fs/gfs2/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index ad7bc2d25ac2..e5e22629da67 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -859,6 +859,7 @@ restart:
859 gfs2_clear_rgrpd(sdp); 859 gfs2_clear_rgrpd(sdp);
860 gfs2_jindex_free(sdp); 860 gfs2_jindex_free(sdp);
861 /* Take apart glock structures and buffer lists */ 861 /* Take apart glock structures and buffer lists */
862 invalidate_inodes(sdp->sd_vfs);
862 gfs2_gl_hash_clear(sdp); 863 gfs2_gl_hash_clear(sdp);
863 /* Unmount the locking protocol */ 864 /* Unmount the locking protocol */
864 gfs2_lm_unmount(sdp); 865 gfs2_lm_unmount(sdp);