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>
This commit is contained in:
parent
13205fb926
commit
f95022161d
|
@ -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(
|
||||||
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(
|
||||||
|
|
||||||
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 = {
|
||||||
.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(
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue