aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2009-03-16 03:19:29 -0400
committerChristoph Hellwig <hch@brick.lst.de>2009-03-16 03:19:29 -0400
commit21b699c89545ed94d9a1c6fcc8ac704784f68f40 (patch)
tree5a7f9de57f445859f0b30c5f6ee5816d544224b1 /fs/xfs
parentda5309cd28ffda6ed8a4147bd14f1e4fbbd6503d (diff)
xfs: cleanup log unmount handling
Kill the current xfs_log_unmount wrapper and opencode the two function calls in the only caller. Rename the current xfs_log_unmount_dealloc to xfs_log_unmount as it undoes xfs_log_mount and the new name makes that more clear. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_log.c15
-rw-r--r--fs/xfs/xfs_log.h3
-rw-r--r--fs/xfs/xfs_mount.c5
3 files changed, 5 insertions, 18 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index c8f300897728..25faa3fe83d2 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -635,19 +635,6 @@ xfs_log_mount_finish(xfs_mount_t *mp)
635} 635}
636 636
637/* 637/*
638 * Unmount processing for the log.
639 */
640int
641xfs_log_unmount(xfs_mount_t *mp)
642{
643 int error;
644
645 error = xfs_log_unmount_write(mp);
646 xfs_log_unmount_dealloc(mp);
647 return error;
648}
649
650/*
651 * Final log writes as part of unmount. 638 * Final log writes as part of unmount.
652 * 639 *
653 * Mark the filesystem clean as unmount happens. Note that during relocation 640 * Mark the filesystem clean as unmount happens. Note that during relocation
@@ -797,7 +784,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
797 * and deallocate the log as the aild references the log. 784 * and deallocate the log as the aild references the log.
798 */ 785 */
799void 786void
800xfs_log_unmount_dealloc(xfs_mount_t *mp) 787xfs_log_unmount(xfs_mount_t *mp)
801{ 788{
802 xfs_trans_ail_destroy(mp); 789 xfs_trans_ail_destroy(mp);
803 xlog_dealloc_log(mp->m_log); 790 xlog_dealloc_log(mp->m_log);
diff --git a/fs/xfs/xfs_log.h b/fs/xfs/xfs_log.h
index 8a3e84e900a3..d0c9baa50b1a 100644
--- a/fs/xfs/xfs_log.h
+++ b/fs/xfs/xfs_log.h
@@ -170,9 +170,8 @@ int xfs_log_write(struct xfs_mount *mp,
170 int nentries, 170 int nentries,
171 xfs_log_ticket_t ticket, 171 xfs_log_ticket_t ticket,
172 xfs_lsn_t *start_lsn); 172 xfs_lsn_t *start_lsn);
173int xfs_log_unmount(struct xfs_mount *mp);
174int xfs_log_unmount_write(struct xfs_mount *mp); 173int xfs_log_unmount_write(struct xfs_mount *mp);
175void xfs_log_unmount_dealloc(struct xfs_mount *mp); 174void xfs_log_unmount(struct xfs_mount *mp);
176int xfs_log_force_umount(struct xfs_mount *mp, int logerror); 175int xfs_log_force_umount(struct xfs_mount *mp, int logerror);
177int xfs_log_need_covered(struct xfs_mount *mp); 176int xfs_log_need_covered(struct xfs_mount *mp);
178 177
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c
index 664961e45e02..2549a235dad2 100644
--- a/fs/xfs/xfs_mount.c
+++ b/fs/xfs/xfs_mount.c
@@ -1194,7 +1194,7 @@ xfs_mountfs(
1194 out_rele_rip: 1194 out_rele_rip:
1195 IRELE(rip); 1195 IRELE(rip);
1196 out_log_dealloc: 1196 out_log_dealloc:
1197 xfs_log_unmount_dealloc(mp); 1197 xfs_log_unmount(mp);
1198 out_free_perag: 1198 out_free_perag:
1199 xfs_free_perag(mp); 1199 xfs_free_perag(mp);
1200 out_remove_uuid: 1200 out_remove_uuid:
@@ -1280,7 +1280,8 @@ xfs_unmountfs(
1280 "Freespace may not be correct on next mount."); 1280 "Freespace may not be correct on next mount.");
1281 xfs_unmountfs_writesb(mp); 1281 xfs_unmountfs_writesb(mp);
1282 xfs_unmountfs_wait(mp); /* wait for async bufs */ 1282 xfs_unmountfs_wait(mp); /* wait for async bufs */
1283 xfs_log_unmount(mp); /* Done! No more fs ops. */ 1283 xfs_log_unmount_write(mp);
1284 xfs_log_unmount(mp);
1284 1285
1285 if ((mp->m_flags & XFS_MOUNT_NOUUID) == 0) 1286 if ((mp->m_flags & XFS_MOUNT_NOUUID) == 0)
1286 uuid_table_remove(&mp->m_sb.sb_uuid); 1287 uuid_table_remove(&mp->m_sb.sb_uuid);