[PATCH 1/7] xfs: cleanup log unmount handling

Christoph Hellwig
2009-02-20T08:53:02Z

[-- Attachment #1: xfs-cleanup-log-unmount --]
[-- Type: text/plain, Size: 2750 bytes --]

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>

Index: xfs/fs/xfs/xfs_log.c
===================================================================
--- xfs.orig/fs/xfs/xfs_log.c 2009-02-10 19:18:54.177068965 +0100
+++ xfs/fs/xfs/xfs_log.c 2009-02-10 19:21:28.338068613 +0100
@@ -635,19 +635,6 @@ xfs_log_mount_finish(xfs_mount_t *mp)
}

/*
- * Unmount processing for the log.
- */
-int
-xfs_log_unmount(xfs_mount_t *mp)
-{
- int error;
-
- error = xfs_log_unmount_write(mp);
- xfs_log_unmount_dealloc(mp);
- return error;
-}
-
-/*
* Final log writes as part of unmount.
*
* Mark the filesystem clean as unmount happens. Note that during relocation
@@ -797,7 +784,7 @@ xfs_log_unmount_write(xfs_mount_t *mp)
* and deallocate the log as the aild references the log.
*/
void
-xfs_log_unmount_dealloc(xfs_mount_t *mp)
+xfs_log_unmount(xfs_mount_t *mp)
{
xfs_trans_ail_destroy(mp);
xlog_dealloc_log(mp->m_log);
Index: xfs/fs/xfs/xfs_log.h
===================================================================
--- xfs.orig/fs/xfs/xfs_log.h 2009-02-10 11:10:41.813069852 +0100
+++ xfs/fs/xfs/xfs_log.h 2009-02-10 19:21:28.338068613 +0100
@@ -170,9 +170,8 @@ int xfs_log_write(struct xfs_mount *mp
int nentries,
xfs_log_ticket_t ticket,
xfs_lsn_t *start_lsn);
-int xfs_log_unmount(struct xfs_mount *mp);
int xfs_log_unmount_write(struct xfs_mount *mp);
-void xfs_log_unmount_dealloc(struct xfs_mount *mp);
+void xfs_log_unmount(struct xfs_mount *mp);
int xfs_log_force_umount(struct xfs_mount *mp, int logerror);
int xfs_log_need_covered(struct xfs_mount *mp);

Index: xfs/fs/xfs/xfs_mount.c
===================================================================
--- xfs.orig/fs/xfs/xfs_mount.c 2009-02-10 19:16:19.537069383 +0100
+++ xfs/fs/xfs/xfs_mount.c 2009-02-10 19:21:28.339069370 +0100
@@ -1194,7 +1194,7 @@ xfs_mountfs(
out_rele_rip:
IRELE(rip);
out_log_dealloc:
- xfs_log_unmount_dealloc(mp);
+ xfs_log_unmount(mp);
out_free_perag:
xfs_free_perag(mp);
out_remove_uuid:
@@ -1280,7 +1280,8 @@ xfs_unmountfs(
"Freespace may not be correct on next mount.");
xfs_unmountfs_writesb(mp);
xfs_unmountfs_wait(mp); /* wait for async bufs */
- xfs_log_unmount(mp); /* Done! No more fs ops. */
+ xfs_log_unmount_write(mp);
+ xfs_log_unmount(mp);

if ((mp->m_flags & XFS_MOUNT_NOUUID) == 0)
uuid_table_remove(&mp->m_sb.sb_uuid);