aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2009-06-05 06:26:23 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2009-06-11 21:36:10 -0400
commitf95022161d23ee661a48af8f280472209f513a67 (patch)
tree9e7c8455e4126b1dd5586ae973ad16c17653f5b3 /fs
parent13205fb9260c2377438599ef0773c6a3eaeb0b07 (diff)
xfs: remove ->write_super and stop maintaining ->s_dirt
the write_super method is used for (1) writing back the superblock periodically from pdflush (2) called just before ->sync_fs for data integerity syncs We don't need (1) because we have our own peridoc writeout through xfssyncd, and we don't need (2) because xfs_fs_sync_fs performs a proper synchronous superblock writeout after all other data and metadata has been written out. Also remove ->s_dirt tracking as it's only used to decide when too call ->write_super. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c12
-rw-r--r--fs/xfs/xfs_trans.c2
2 files changed, 0 insertions, 14 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index bb685269f83..08d6bd9a394 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -1104,15 +1104,6 @@ xfs_fs_put_super(
1104 kfree(mp); 1104 kfree(mp);
1105} 1105}
1106 1106
1107STATIC void
1108xfs_fs_write_super(
1109 struct super_block *sb)
1110{
1111 if (!(sb->s_flags & MS_RDONLY))
1112 xfs_sync_fsdata(XFS_M(sb), 0);
1113 sb->s_dirt = 0;
1114}
1115
1116STATIC int 1107STATIC int
1117xfs_fs_sync_super( 1108xfs_fs_sync_super(
1118 struct super_block *sb, 1109 struct super_block *sb,
@@ -1137,7 +1128,6 @@ xfs_fs_sync_super(
1137 error = xfs_quiesce_data(mp); 1128 error = xfs_quiesce_data(mp);
1138 else 1129 else
1139 error = xfs_sync_fsdata(mp, 0); 1130 error = xfs_sync_fsdata(mp, 0);
1140 sb->s_dirt = 0;
1141 1131
1142 if (unlikely(laptop_mode)) { 1132 if (unlikely(laptop_mode)) {
1143 int prev_sync_seq = mp->m_sync_seq; 1133 int prev_sync_seq = mp->m_sync_seq;
@@ -1443,7 +1433,6 @@ xfs_fs_fill_super(
1443 1433
1444 XFS_SEND_MOUNT(mp, DM_RIGHT_NULL, mtpt, mp->m_fsname); 1434 XFS_SEND_MOUNT(mp, DM_RIGHT_NULL, mtpt, mp->m_fsname);
1445 1435
1446 sb->s_dirt = 1;
1447 sb->s_magic = XFS_SB_MAGIC; 1436 sb->s_magic = XFS_SB_MAGIC;
1448 sb->s_blocksize = mp->m_sb.sb_blocksize; 1437 sb->s_blocksize = mp->m_sb.sb_blocksize;
1449 sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1; 1438 sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
@@ -1533,7 +1522,6 @@ static struct super_operations xfs_super_operations = {
1533 .write_inode = xfs_fs_write_inode, 1522 .write_inode = xfs_fs_write_inode,
1534 .clear_inode = xfs_fs_clear_inode, 1523 .clear_inode = xfs_fs_clear_inode,
1535 .put_super = xfs_fs_put_super, 1524 .put_super = xfs_fs_put_super,
1536 .write_super = xfs_fs_write_super,
1537 .sync_fs = xfs_fs_sync_super, 1525 .sync_fs = xfs_fs_sync_super,
1538 .freeze_fs = xfs_fs_freeze, 1526 .freeze_fs = xfs_fs_freeze,
1539 .statfs = xfs_fs_statfs, 1527 .statfs = xfs_fs_statfs,
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c
index 8570b826fed..bcc39d358ad 100644
--- a/fs/xfs/xfs_trans.c
+++ b/fs/xfs/xfs_trans.c
@@ -628,8 +628,6 @@ xfs_trans_apply_sb_deltas(
628 xfs_trans_log_buf(tp, bp, offsetof(xfs_dsb_t, sb_icount), 628 xfs_trans_log_buf(tp, bp, offsetof(xfs_dsb_t, sb_icount),
629 offsetof(xfs_dsb_t, sb_frextents) + 629 offsetof(xfs_dsb_t, sb_frextents) +
630 sizeof(sbp->sb_frextents) - 1); 630 sizeof(sbp->sb_frextents) - 1);
631
632 tp->t_mountp->m_super->s_dirt = 1;
633} 631}
634 632
635/* 633/*