Commit f9502216 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Al Viro

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: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarEric Sandeen <sandeen@sandeen.net>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 13205fb9
...@@ -1104,15 +1104,6 @@ xfs_fs_put_super( ...@@ -1104,15 +1104,6 @@ xfs_fs_put_super(
kfree(mp); kfree(mp);
} }
STATIC void
xfs_fs_write_super(
struct super_block *sb)
{
if (!(sb->s_flags & MS_RDONLY))
xfs_sync_fsdata(XFS_M(sb), 0);
sb->s_dirt = 0;
}
STATIC int STATIC int
xfs_fs_sync_super( xfs_fs_sync_super(
struct super_block *sb, struct super_block *sb,
...@@ -1137,7 +1128,6 @@ xfs_fs_sync_super( ...@@ -1137,7 +1128,6 @@ xfs_fs_sync_super(
error = xfs_quiesce_data(mp); error = xfs_quiesce_data(mp);
else else
error = xfs_sync_fsdata(mp, 0); error = xfs_sync_fsdata(mp, 0);
sb->s_dirt = 0;
if (unlikely(laptop_mode)) { if (unlikely(laptop_mode)) {
int prev_sync_seq = mp->m_sync_seq; int prev_sync_seq = mp->m_sync_seq;
...@@ -1443,7 +1433,6 @@ xfs_fs_fill_super( ...@@ -1443,7 +1433,6 @@ xfs_fs_fill_super(
XFS_SEND_MOUNT(mp, DM_RIGHT_NULL, mtpt, mp->m_fsname); XFS_SEND_MOUNT(mp, DM_RIGHT_NULL, mtpt, mp->m_fsname);
sb->s_dirt = 1;
sb->s_magic = XFS_SB_MAGIC; sb->s_magic = XFS_SB_MAGIC;
sb->s_blocksize = mp->m_sb.sb_blocksize; sb->s_blocksize = mp->m_sb.sb_blocksize;
sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1; sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
...@@ -1533,7 +1522,6 @@ static struct super_operations xfs_super_operations = { ...@@ -1533,7 +1522,6 @@ static struct super_operations xfs_super_operations = {
.write_inode = xfs_fs_write_inode, .write_inode = xfs_fs_write_inode,
.clear_inode = xfs_fs_clear_inode, .clear_inode = xfs_fs_clear_inode,
.put_super = xfs_fs_put_super, .put_super = xfs_fs_put_super,
.write_super = xfs_fs_write_super,
.sync_fs = xfs_fs_sync_super, .sync_fs = xfs_fs_sync_super,
.freeze_fs = xfs_fs_freeze, .freeze_fs = xfs_fs_freeze,
.statfs = xfs_fs_statfs, .statfs = xfs_fs_statfs,
......
...@@ -628,8 +628,6 @@ xfs_trans_apply_sb_deltas( ...@@ -628,8 +628,6 @@ xfs_trans_apply_sb_deltas(
xfs_trans_log_buf(tp, bp, offsetof(xfs_dsb_t, sb_icount), xfs_trans_log_buf(tp, bp, offsetof(xfs_dsb_t, sb_icount),
offsetof(xfs_dsb_t, sb_frextents) + offsetof(xfs_dsb_t, sb_frextents) +
sizeof(sbp->sb_frextents) - 1); sizeof(sbp->sb_frextents) - 1);
tp->t_mountp->m_super->s_dirt = 1;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment