aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-08-28 21:53:22 -0400
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-15 21:40:52 -0400
commitf541d270dbce375b7bd8cef466bdaf0cff945b45 (patch)
treec0dbbf48f4b2dfd3c2740f251afd403deb5db2fa
parent0a74cd1964501fdb577176f14ed3d02b8e148127 (diff)
[XFS] move freeing the mount structure from xfs_mount_free into the callers
In the next patch we need to look at the mount structure until just before it's freed, so we need to be able to free it as the very last thing in xfs_unmount. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29501a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
-rw-r--r--fs/xfs/linux-2.6/xfs_vfs.c1
-rw-r--r--fs/xfs/xfs_mount.c1
-rw-r--r--fs/xfs/xfs_vfsops.c1
3 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_vfs.c b/fs/xfs/linux-2.6/xfs_vfs.c
index c5ec272cdf22..6ed7f137a031 100644
--- a/fs/xfs/linux-2.6/xfs_vfs.c
+++ b/fs/xfs/linux-2.6/xfs_vfs.c
@@ -312,6 +312,7 @@ bhv_remove_all_vfsops(
312 mp = XFS_VFSTOM(vfsp); 312 mp = XFS_VFSTOM(vfsp);
313 VFS_REMOVEBHV(vfsp, &mp->m_bhv); 313 VFS_REMOVEBHV(vfsp, &mp->m_bhv);
314 xfs_mount_free(mp, 0); 314 xfs_mount_free(mp, 0);
315 kmem_free(mp, sizeof(xfs_mount_t));
315} 316}
316 317
317void 318void
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 71f25947251d..3e948f58ab82 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -194,7 +194,6 @@ xfs_mount_free(
194 } 194 }
195 195
196 xfs_icsb_destroy_counters(mp); 196 xfs_icsb_destroy_counters(mp);
197 kmem_free(mp, sizeof(xfs_mount_t));
198} 197}
199 198
200/* 199/*
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
index 3fe64a3a77a9..8c0e02279249 100644
--- a/fs/xfs/xfs_vfsops.c
+++ b/fs/xfs/xfs_vfsops.c
@@ -640,6 +640,7 @@ out:
640 * and free the super block buffer & mount structures. 640 * and free the super block buffer & mount structures.
641 */ 641 */
642 xfs_unmountfs(mp, credp); 642 xfs_unmountfs(mp, credp);
643 kmem_free(mp, sizeof(xfs_mount_t));
643 } 644 }
644 645
645 return XFS_ERROR(error); 646 return XFS_ERROR(error);