Quellcode durchsuchen

[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>
Christoph Hellwig vor 18 Jahren
Ursprung
Commit
f541d270db
3 geänderte Dateien mit 2 neuen und 1 gelöschten Zeilen
  1. 1 0
      fs/xfs/linux-2.6/xfs_vfs.c
  2. 0 1
      fs/xfs/xfs_mount.c
  3. 1 0
      fs/xfs/xfs_vfsops.c

+ 1 - 0
fs/xfs/linux-2.6/xfs_vfs.c

@@ -312,6 +312,7 @@ bhv_remove_all_vfsops(
 	mp = XFS_VFSTOM(vfsp);
 	mp = XFS_VFSTOM(vfsp);
 	VFS_REMOVEBHV(vfsp, &mp->m_bhv);
 	VFS_REMOVEBHV(vfsp, &mp->m_bhv);
 	xfs_mount_free(mp, 0);
 	xfs_mount_free(mp, 0);
+	kmem_free(mp, sizeof(xfs_mount_t));
 }
 }
 
 
 void
 void

+ 0 - 1
fs/xfs/xfs_mount.c

@@ -194,7 +194,6 @@ xfs_mount_free(
 	}
 	}
 
 
 	xfs_icsb_destroy_counters(mp);
 	xfs_icsb_destroy_counters(mp);
-	kmem_free(mp, sizeof(xfs_mount_t));
 }
 }
 
 
 /*
 /*

+ 1 - 0
fs/xfs/xfs_vfsops.c

@@ -640,6 +640,7 @@ out:
 		 * and free the super block buffer & mount structures.
 		 * and free the super block buffer & mount structures.
 		 */
 		 */
 		xfs_unmountfs(mp, credp);
 		xfs_unmountfs(mp, credp);
+		kmem_free(mp, sizeof(xfs_mount_t));
 	}
 	}
 
 
 	return XFS_ERROR(error);
 	return XFS_ERROR(error);