diff options
author | Christoph Hellwig <hch@infradead.org> | 2007-08-28 21:53:22 -0400 |
---|---|---|
committer | Tim Shimmin <tes@chook.melbourne.sgi.com> | 2007-10-15 21:40:52 -0400 |
commit | f541d270dbce375b7bd8cef466bdaf0cff945b45 (patch) | |
tree | c0dbbf48f4b2dfd3c2740f251afd403deb5db2fa /fs | |
parent | 0a74cd1964501fdb577176f14ed3d02b8e148127 (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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vfs.c | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_mount.c | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 1 |
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 | ||
317 | void | 318 | void |
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); |