diff --git a/fs/xfs/linux-2.6/xfs_vfs.c b/fs/xfs/linux-2.6/xfs_vfs.c index c5ec272cdf220030e452eacdbd5204052d544ad6..6ed7f137a031b46ff67908da4ff821476927350e 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 71f25947251d81479fe984f041522624e9940732..3e948f58ab823b48d51e54ca947a3d0f175a0652 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 3fe64a3a77a91d69685e0a3c4f9343aeb758f48a..8c0e02279249afc9e2482d341a276bb26ac4c177 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c @@ -640,6 +640,7 @@ xfs_unmount( * and free the super block buffer & mount structures. */ xfs_unmountfs(mp, credp); + kmem_free(mp, sizeof(xfs_mount_t)); } return XFS_ERROR(error);