[XFS] Remove periodic logging of in-core superblock counters.
authorDavid Chinner <dgc@sgi.com>
Thu, 17 Apr 2008 06:49:55 +0000 (16:49 +1000)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 18 Apr 2008 02:03:12 +0000 (12:03 +1000)
xfssyncd triggers the logging of superblock counters every 30s if the
filesystem is made with lazy-count=1. This will prevent disks from idling
and spinning down as there will be a log write every 30s. With the way
counter recovery works for lazy-count=1, this code is unnecessary and
provides no real benefit, so just remove it.

SGI-PV: 980145
SGI-Modid: xfs-linux-melb:xfs-kern:30840a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Barry Naujok <bnaujok@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/linux-2.6/xfs_vfs.h
fs/xfs/xfs_vfsops.c

index fb561beea3730f3bd4fea92a9de2aa04236e17af..865eb708aa95ffdca5c528b2a9871c2b78aaacdb 100644 (file)
@@ -1028,8 +1028,7 @@ xfs_sync_worker(
        int             error;
 
        if (!(mp->m_flags & XFS_MOUNT_RDONLY))
-               error = xfs_sync(mp, SYNC_FSDATA | SYNC_BDFLUSH | SYNC_ATTR |
-                                    SYNC_REFCACHE | SYNC_SUPER);
+               error = xfs_sync(mp, SYNC_FSDATA | SYNC_BDFLUSH | SYNC_ATTR);
        mp->m_sync_seq++;
        wake_up(&mp->m_wait_single_sync_task);
 }
index 4da03a4e3520d97866d710f9977e95c0b2ae1961..7e60c7776b1cd0e93c2786671241227dce9a1798 100644 (file)
@@ -49,7 +49,6 @@ typedef struct bhv_vfs_sync_work {
 #define SYNC_REFCACHE          0x0040  /* prune some of the nfs ref cache */
 #define SYNC_REMOUNT           0x0080  /* remount readonly, no dummy LRs */
 #define SYNC_IOWAIT            0x0100  /* wait for all I/O to complete */
-#define SYNC_SUPER             0x0200  /* flush superblock to disk */
 
 /*
  * When remounting a filesystem read-only or freezing the filesystem,
index 09e186d02c114322e8f202ae2b44939a9b67e4c8..fc48158fe4797acae6de9c0c9152ce506c2f154e 100644 (file)
@@ -1316,22 +1316,9 @@ xfs_syncsub(
                }
        }
 
-       /*
-        * If asked, update the disk superblock with incore counter values if we
-        * are using non-persistent counters so that they don't get too far out
-        * of sync if we crash or get a forced shutdown. We don't want to force
-        * this to disk, just get a transaction into the iclogs....
-        */
-       if (flags & SYNC_SUPER) {
-               error = xfs_log_sbcount(mp, 0);
-               if (error)
-                       last_error = error;
-       }
-
        /*
         * Now check to see if the log needs a "dummy" transaction.
         */
-
        if (!(flags & SYNC_REMOUNT) && xfs_log_need_covered(mp)) {
                xfs_trans_t *tp;
                xfs_inode_t *ip;