diff options
author | Christoph Hellwig <hch@infradead.org> | 2008-08-13 02:50:21 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-08-13 02:50:21 -0400 |
commit | 6203300e5e9121440b27d3ed0b9fe2a64cb62b53 (patch) | |
tree | df0e5dfe72d73324efcd4835d6b7da1dff72f28b | |
parent | 41b5c2e77a0221cf07ac127afa122add67ac5418 (diff) |
[XFS] don't call xfs_freesb from xfs_unmountfs
xfs_readsb is called before xfs_mount so xfs_freesb should be called after
xfs_unmountfs, too. This means it now happens after a few things during
the of xfs_unmount which all have nothing to do with the superblock.
SGI-PV: 981498
SGI-Modid: xfs-linux-melb:xfs-kern:31835a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 3 | ||||
-rw-r--r-- | fs/xfs/xfs_mount.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 8fdb79046a60..73c65f19e549 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -1147,6 +1147,7 @@ xfs_fs_put_super( | |||
1147 | } | 1147 | } |
1148 | 1148 | ||
1149 | xfs_unmountfs(mp); | 1149 | xfs_unmountfs(mp); |
1150 | xfs_freesb(mp); | ||
1150 | xfs_icsb_destroy_counters(mp); | 1151 | xfs_icsb_destroy_counters(mp); |
1151 | xfs_close_devices(mp); | 1152 | xfs_close_devices(mp); |
1152 | xfs_qmops_put(mp); | 1153 | xfs_qmops_put(mp); |
@@ -1803,7 +1804,7 @@ xfs_fs_fill_super( | |||
1803 | WARN_ON(error); | 1804 | WARN_ON(error); |
1804 | 1805 | ||
1805 | xfs_unmountfs(mp); | 1806 | xfs_unmountfs(mp); |
1806 | goto out_free_fsname; | 1807 | goto out_free_sb; |
1807 | } | 1808 | } |
1808 | 1809 | ||
1809 | STATIC int | 1810 | STATIC int |
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 7f5027266ea0..4d4161598406 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1296,8 +1296,6 @@ xfs_unmountfs( | |||
1296 | xfs_unmountfs_wait(mp); /* wait for async bufs */ | 1296 | xfs_unmountfs_wait(mp); /* wait for async bufs */ |
1297 | xfs_log_unmount(mp); /* Done! No more fs ops. */ | 1297 | xfs_log_unmount(mp); /* Done! No more fs ops. */ |
1298 | 1298 | ||
1299 | xfs_freesb(mp); | ||
1300 | |||
1301 | /* | 1299 | /* |
1302 | * All inodes from this mount point should be freed. | 1300 | * All inodes from this mount point should be freed. |
1303 | */ | 1301 | */ |