summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-08-29 11:53:22 +1000
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-16 11:40:52 +1000
commitf541d270dbce375b7bd8cef466bdaf0cff945b45 (patch)
treec0dbbf48f4b2dfd3c2740f251afd403deb5db2fa /fs/xfs
parent0a74cd1964501fdb577176f14ed3d02b8e148127 (diff)
downloadop-kernel-dev-f541d270dbce375b7bd8cef466bdaf0cff945b45.zip
op-kernel-dev-f541d270dbce375b7bd8cef466bdaf0cff945b45.tar.gz
[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/xfs')
-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 c5ec272..6ed7f13 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(
mp = XFS_VFSTOM(vfsp);
VFS_REMOVEBHV(vfsp, &mp->m_bhv);
xfs_mount_free(mp, 0);
+ kmem_free(mp, sizeof(xfs_mount_t));
}
void
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 71f2594..3e948f5 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -194,7 +194,6 @@ xfs_mount_free(
}
xfs_icsb_destroy_counters(mp);
- kmem_free(mp, sizeof(xfs_mount_t));
}
/*
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c
index 3fe64a3a..8c0e022 100644
--- a/fs/xfs/xfs_vfsops.c
+++ b/fs/xfs/xfs_vfsops.c
@@ -640,6 +640,7 @@ out:
* and free the super block buffer & mount structures.
*/
xfs_unmountfs(mp, credp);
+ kmem_free(mp, sizeof(xfs_mount_t));
}
return XFS_ERROR(error);
OpenPOWER on IntegriCloud