ext3: remove ->write_super and stop maintaining ->s_dirt

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Christoph Hellwig 2009-04-27 09:46:42 -04:00 committed by Al Viro
parent 59d697b702
commit ca41f7b918
6 changed files with 2 additions and 30 deletions

View File

@ -649,7 +649,7 @@ do_more:
count = overflow; count = overflow;
goto do_more; goto do_more;
} }
sb->s_dirt = 1;
error_return: error_return:
brelse(bitmap_bh); brelse(bitmap_bh);
ext3_std_error(sb, err); ext3_std_error(sb, err);
@ -1708,7 +1708,6 @@ allocated:
if (!fatal) if (!fatal)
fatal = err; fatal = err;
sb->s_dirt = 1;
if (fatal) if (fatal)
goto out; goto out;

View File

@ -181,7 +181,7 @@ void ext3_free_inode (handle_t *handle, struct inode * inode)
err = ext3_journal_dirty_metadata(handle, bitmap_bh); err = ext3_journal_dirty_metadata(handle, bitmap_bh);
if (!fatal) if (!fatal)
fatal = err; fatal = err;
sb->s_dirt = 1;
error_return: error_return:
brelse(bitmap_bh); brelse(bitmap_bh);
ext3_std_error(sb, fatal); ext3_std_error(sb, fatal);
@ -537,7 +537,6 @@ got:
percpu_counter_dec(&sbi->s_freeinodes_counter); percpu_counter_dec(&sbi->s_freeinodes_counter);
if (S_ISDIR(mode)) if (S_ISDIR(mode))
percpu_counter_inc(&sbi->s_dirs_counter); percpu_counter_inc(&sbi->s_dirs_counter);
sb->s_dirt = 1;
inode->i_uid = current_fsuid(); inode->i_uid = current_fsuid();
if (test_opt (sb, GRPID)) if (test_opt (sb, GRPID))

View File

@ -2960,7 +2960,6 @@ static int ext3_do_update_inode(handle_t *handle,
ext3_update_dynamic_rev(sb); ext3_update_dynamic_rev(sb);
EXT3_SET_RO_COMPAT_FEATURE(sb, EXT3_SET_RO_COMPAT_FEATURE(sb,
EXT3_FEATURE_RO_COMPAT_LARGE_FILE); EXT3_FEATURE_RO_COMPAT_LARGE_FILE);
sb->s_dirt = 1;
handle->h_sync = 1; handle->h_sync = 1;
err = ext3_journal_dirty_metadata(handle, err = ext3_journal_dirty_metadata(handle,
EXT3_SB(sb)->s_sbh); EXT3_SB(sb)->s_sbh);

View File

@ -934,7 +934,6 @@ int ext3_group_add(struct super_block *sb, struct ext3_new_group_data *input)
EXT3_INODES_PER_GROUP(sb)); EXT3_INODES_PER_GROUP(sb));
ext3_journal_dirty_metadata(handle, sbi->s_sbh); ext3_journal_dirty_metadata(handle, sbi->s_sbh);
sb->s_dirt = 1;
exit_journal: exit_journal:
unlock_super(sb); unlock_super(sb);
@ -1066,7 +1065,6 @@ int ext3_group_extend(struct super_block *sb, struct ext3_super_block *es,
} }
es->s_blocks_count = cpu_to_le32(o_blocks_count + add); es->s_blocks_count = cpu_to_le32(o_blocks_count + add);
ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh);
sb->s_dirt = 1;
unlock_super(sb); unlock_super(sb);
ext3_debug("freeing blocks %lu through "E3FSBLK"\n", o_blocks_count, ext3_debug("freeing blocks %lu through "E3FSBLK"\n", o_blocks_count,
o_blocks_count + add); o_blocks_count + add);

View File

@ -67,7 +67,6 @@ static const char *ext3_decode_error(struct super_block * sb, int errno,
static int ext3_remount (struct super_block * sb, int * flags, char * data); static int ext3_remount (struct super_block * sb, int * flags, char * data);
static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf); static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf);
static int ext3_unfreeze(struct super_block *sb); static int ext3_unfreeze(struct super_block *sb);
static void ext3_write_super (struct super_block * sb);
static int ext3_freeze(struct super_block *sb); static int ext3_freeze(struct super_block *sb);
/* /*
@ -761,7 +760,6 @@ static const struct super_operations ext3_sops = {
.dirty_inode = ext3_dirty_inode, .dirty_inode = ext3_dirty_inode,
.delete_inode = ext3_delete_inode, .delete_inode = ext3_delete_inode,
.put_super = ext3_put_super, .put_super = ext3_put_super,
.write_super = ext3_write_super,
.sync_fs = ext3_sync_fs, .sync_fs = ext3_sync_fs,
.freeze_fs = ext3_freeze, .freeze_fs = ext3_freeze,
.unfreeze_fs = ext3_unfreeze, .unfreeze_fs = ext3_unfreeze,
@ -1785,7 +1783,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
#else #else
es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH); es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
#endif #endif
sb->s_dirt = 1;
} }
if (sbi->s_blocks_per_group > blocksize * 8) { if (sbi->s_blocks_per_group > blocksize * 8) {
@ -2265,7 +2262,6 @@ static int ext3_load_journal(struct super_block *sb,
if (journal_devnum && if (journal_devnum &&
journal_devnum != le32_to_cpu(es->s_journal_dev)) { journal_devnum != le32_to_cpu(es->s_journal_dev)) {
es->s_journal_dev = cpu_to_le32(journal_devnum); es->s_journal_dev = cpu_to_le32(journal_devnum);
sb->s_dirt = 1;
/* Make sure we flush the recovery flag to disk. */ /* Make sure we flush the recovery flag to disk. */
ext3_commit_super(sb, es, 1); ext3_commit_super(sb, es, 1);
@ -2308,7 +2304,6 @@ static int ext3_create_journal(struct super_block * sb,
EXT3_SET_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_HAS_JOURNAL); EXT3_SET_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_HAS_JOURNAL);
es->s_journal_inum = cpu_to_le32(journal_inum); es->s_journal_inum = cpu_to_le32(journal_inum);
sb->s_dirt = 1;
/* Make sure we flush the recovery flag to disk. */ /* Make sure we flush the recovery flag to disk. */
ext3_commit_super(sb, es, 1); ext3_commit_super(sb, es, 1);
@ -2354,7 +2349,6 @@ static void ext3_mark_recovery_complete(struct super_block * sb,
if (EXT3_HAS_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER) && if (EXT3_HAS_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER) &&
sb->s_flags & MS_RDONLY) { sb->s_flags & MS_RDONLY) {
EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER);
sb->s_dirt = 0;
ext3_commit_super(sb, es, 1); ext3_commit_super(sb, es, 1);
} }
unlock_super(sb); unlock_super(sb);
@ -2413,29 +2407,14 @@ int ext3_force_commit(struct super_block *sb)
return 0; return 0;
journal = EXT3_SB(sb)->s_journal; journal = EXT3_SB(sb)->s_journal;
sb->s_dirt = 0;
ret = ext3_journal_force_commit(journal); ret = ext3_journal_force_commit(journal);
return ret; return ret;
} }
/*
* Ext3 always journals updates to the superblock itself, so we don't
* have to propagate any other updates to the superblock on disk at this
* point. (We can probably nuke this function altogether, and remove
* any mention to sb->s_dirt in all of fs/ext3; eventual cleanup...)
*/
static void ext3_write_super (struct super_block * sb)
{
if (mutex_trylock(&sb->s_lock) != 0)
BUG();
sb->s_dirt = 0;
}
static int ext3_sync_fs(struct super_block *sb, int wait) static int ext3_sync_fs(struct super_block *sb, int wait)
{ {
tid_t target; tid_t target;
sb->s_dirt = 0;
if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) { if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) {
if (wait) if (wait)
log_wait_commit(EXT3_SB(sb)->s_journal, target); log_wait_commit(EXT3_SB(sb)->s_journal, target);
@ -2451,7 +2430,6 @@ static int ext3_freeze(struct super_block *sb)
{ {
int error = 0; int error = 0;
journal_t *journal; journal_t *journal;
sb->s_dirt = 0;
if (!(sb->s_flags & MS_RDONLY)) { if (!(sb->s_flags & MS_RDONLY)) {
journal = EXT3_SB(sb)->s_journal; journal = EXT3_SB(sb)->s_journal;

View File

@ -463,7 +463,6 @@ static void ext3_xattr_update_super_block(handle_t *handle,
if (ext3_journal_get_write_access(handle, EXT3_SB(sb)->s_sbh) == 0) { if (ext3_journal_get_write_access(handle, EXT3_SB(sb)->s_sbh) == 0) {
EXT3_SET_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_EXT_ATTR); EXT3_SET_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_EXT_ATTR);
sb->s_dirt = 1;
ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh);
} }
} }