diff options
author | David Chinner <dgc@sgi.com> | 2008-04-17 02:49:55 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-04-17 22:03:12 -0400 |
commit | 7e20694d91f817f8e9f62404aca793ae0df4d98a (patch) | |
tree | 36831242dad3429ea4bb56f681ebd8c82d3d2200 | |
parent | e6430037e9fd0b3d02ceaf5ab99bfe3ccb763be7 (diff) |
[XFS] Remove periodic logging of in-core superblock counters.
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>
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 3 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vfs.h | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 13 |
3 files changed, 1 insertions, 16 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index fb561beea373..865eb708aa95 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -1028,8 +1028,7 @@ xfs_sync_worker( | |||
1028 | int error; | 1028 | int error; |
1029 | 1029 | ||
1030 | if (!(mp->m_flags & XFS_MOUNT_RDONLY)) | 1030 | if (!(mp->m_flags & XFS_MOUNT_RDONLY)) |
1031 | error = xfs_sync(mp, SYNC_FSDATA | SYNC_BDFLUSH | SYNC_ATTR | | 1031 | error = xfs_sync(mp, SYNC_FSDATA | SYNC_BDFLUSH | SYNC_ATTR); |
1032 | SYNC_REFCACHE | SYNC_SUPER); | ||
1033 | mp->m_sync_seq++; | 1032 | mp->m_sync_seq++; |
1034 | wake_up(&mp->m_wait_single_sync_task); | 1033 | wake_up(&mp->m_wait_single_sync_task); |
1035 | } | 1034 | } |
diff --git a/fs/xfs/linux-2.6/xfs_vfs.h b/fs/xfs/linux-2.6/xfs_vfs.h index 4da03a4e3520..7e60c7776b1c 100644 --- a/fs/xfs/linux-2.6/xfs_vfs.h +++ b/fs/xfs/linux-2.6/xfs_vfs.h | |||
@@ -49,7 +49,6 @@ typedef struct bhv_vfs_sync_work { | |||
49 | #define SYNC_REFCACHE 0x0040 /* prune some of the nfs ref cache */ | 49 | #define SYNC_REFCACHE 0x0040 /* prune some of the nfs ref cache */ |
50 | #define SYNC_REMOUNT 0x0080 /* remount readonly, no dummy LRs */ | 50 | #define SYNC_REMOUNT 0x0080 /* remount readonly, no dummy LRs */ |
51 | #define SYNC_IOWAIT 0x0100 /* wait for all I/O to complete */ | 51 | #define SYNC_IOWAIT 0x0100 /* wait for all I/O to complete */ |
52 | #define SYNC_SUPER 0x0200 /* flush superblock to disk */ | ||
53 | 52 | ||
54 | /* | 53 | /* |
55 | * When remounting a filesystem read-only or freezing the filesystem, | 54 | * When remounting a filesystem read-only or freezing the filesystem, |
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index 09e186d02c11..fc48158fe479 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -1317,21 +1317,8 @@ xfs_syncsub( | |||
1317 | } | 1317 | } |
1318 | 1318 | ||
1319 | /* | 1319 | /* |
1320 | * If asked, update the disk superblock with incore counter values if we | ||
1321 | * are using non-persistent counters so that they don't get too far out | ||
1322 | * of sync if we crash or get a forced shutdown. We don't want to force | ||
1323 | * this to disk, just get a transaction into the iclogs.... | ||
1324 | */ | ||
1325 | if (flags & SYNC_SUPER) { | ||
1326 | error = xfs_log_sbcount(mp, 0); | ||
1327 | if (error) | ||
1328 | last_error = error; | ||
1329 | } | ||
1330 | |||
1331 | /* | ||
1332 | * Now check to see if the log needs a "dummy" transaction. | 1320 | * Now check to see if the log needs a "dummy" transaction. |
1333 | */ | 1321 | */ |
1334 | |||
1335 | if (!(flags & SYNC_REMOUNT) && xfs_log_need_covered(mp)) { | 1322 | if (!(flags & SYNC_REMOUNT) && xfs_log_need_covered(mp)) { |
1336 | xfs_trans_t *tp; | 1323 | xfs_trans_t *tp; |
1337 | xfs_inode_t *ip; | 1324 | xfs_inode_t *ip; |