summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_super.c
diff options
context:
space:
mode:
authorDave Chinner2012-10-08 12:56:02 +0200
committerBen Myers2012-10-17 18:53:29 +0200
commitf661f1e0bf5002bdcc8b5810ad0a184a1841537f (patch)
treefe6a0e5f14e3b2c0c6e01dcddbf6de1b8b3de26e /fs/xfs/xfs_super.c
parentxfs: don't run the sync work if the filesystem is read-only (diff)
downloadkernel-qcow2-linux-f661f1e0bf5002bdcc8b5810ad0a184a1841537f.tar.gz
kernel-qcow2-linux-f661f1e0bf5002bdcc8b5810ad0a184a1841537f.tar.xz
kernel-qcow2-linux-f661f1e0bf5002bdcc8b5810ad0a184a1841537f.zip
xfs: sync work is now only periodic log work
The only thing the periodic sync work does now is flush the AIL and idle the log. These are really functions of the log code, so move the work to xfs_log.c and rename it appropriately. The only wart that this leaves behind is the xfssyncd_centisecs sysctl, otherwise the xfssyncd is dead. Clean up any comments that related to xfssyncd to reflect it's passing. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_super.c')
-rw-r--r--fs/xfs/xfs_super.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 20fa955d80d1..37c39a155a58 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -1005,7 +1005,6 @@ xfs_fs_put_super(
{
struct xfs_mount *mp = XFS_M(sb);
- cancel_delayed_work_sync(&mp->m_sync_work);
cancel_work_sync(&mp->m_flush_work);
xfs_filestream_unmount(mp);
@@ -1040,10 +1039,10 @@ xfs_fs_sync_fs(
if (laptop_mode) {
/*
* The disk must be active because we're syncing.
- * We schedule xfssyncd now (now that the disk is
+ * We schedule log work now (now that the disk is
* active) instead of later (when it might not be).
*/
- flush_delayed_work(&mp->m_sync_work);
+ flush_delayed_work(&mp->m_log->l_work);
}
return 0;
@@ -1200,7 +1199,7 @@ xfs_fs_remount(
* value if it is non-zero, otherwise go with the default.
*/
xfs_restore_resvblks(mp);
- xfs_syncd_queue_sync(mp);
+ xfs_log_work_queue(mp);
}
/* rw -> ro */
@@ -1246,7 +1245,7 @@ xfs_fs_unfreeze(
struct xfs_mount *mp = XFS_M(sb);
xfs_restore_resvblks(mp);
- xfs_syncd_queue_sync(mp);
+ xfs_log_work_queue(mp);
return 0;
}
@@ -1326,7 +1325,6 @@ xfs_fs_fill_super(
mutex_init(&mp->m_growlock);
atomic_set(&mp->m_active_trans, 0);
INIT_WORK(&mp->m_flush_work, xfs_flush_worker);
- INIT_DELAYED_WORK(&mp->m_sync_work, xfs_sync_worker);
INIT_DELAYED_WORK(&mp->m_reclaim_work, xfs_reclaim_worker);
mp->m_super = sb;
@@ -1410,12 +1408,6 @@ xfs_fs_fill_super(
goto out_unmount;
}
- /*
- * The filesystem is successfully mounted, so we can start background
- * sync work now.
- */
- xfs_syncd_queue_sync(mp);
-
return 0;
out_filestream_unmount: