|
@@ -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_statfs (struct dentry * dentry, struct kstatfs * buf);
|
|
|
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);
|
|
|
|
|
|
/*
|
|
@@ -761,7 +760,6 @@ static const struct super_operations ext3_sops = {
|
|
|
.dirty_inode = ext3_dirty_inode,
|
|
|
.delete_inode = ext3_delete_inode,
|
|
|
.put_super = ext3_put_super,
|
|
|
- .write_super = ext3_write_super,
|
|
|
.sync_fs = ext3_sync_fs,
|
|
|
.freeze_fs = ext3_freeze,
|
|
|
.unfreeze_fs = ext3_unfreeze,
|
|
@@ -1785,7 +1783,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
|
|
#else
|
|
|
es->s_flags |= cpu_to_le32(EXT2_FLAGS_SIGNED_HASH);
|
|
|
#endif
|
|
|
- sb->s_dirt = 1;
|
|
|
}
|
|
|
|
|
|
if (sbi->s_blocks_per_group > blocksize * 8) {
|
|
@@ -2265,7 +2262,6 @@ static int ext3_load_journal(struct super_block *sb,
|
|
|
if (journal_devnum &&
|
|
|
journal_devnum != le32_to_cpu(es->s_journal_dev)) {
|
|
|
es->s_journal_dev = cpu_to_le32(journal_devnum);
|
|
|
- sb->s_dirt = 1;
|
|
|
|
|
|
/* Make sure we flush the recovery flag to disk. */
|
|
|
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);
|
|
|
|
|
|
es->s_journal_inum = cpu_to_le32(journal_inum);
|
|
|
- sb->s_dirt = 1;
|
|
|
|
|
|
/* Make sure we flush the recovery flag to disk. */
|
|
|
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) &&
|
|
|
sb->s_flags & MS_RDONLY) {
|
|
|
EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER);
|
|
|
- sb->s_dirt = 0;
|
|
|
ext3_commit_super(sb, es, 1);
|
|
|
}
|
|
|
unlock_super(sb);
|
|
@@ -2413,29 +2407,14 @@ int ext3_force_commit(struct super_block *sb)
|
|
|
return 0;
|
|
|
|
|
|
journal = EXT3_SB(sb)->s_journal;
|
|
|
- sb->s_dirt = 0;
|
|
|
ret = ext3_journal_force_commit(journal);
|
|
|
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)
|
|
|
{
|
|
|
tid_t target;
|
|
|
|
|
|
- sb->s_dirt = 0;
|
|
|
if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) {
|
|
|
if (wait)
|
|
|
log_wait_commit(EXT3_SB(sb)->s_journal, target);
|
|
@@ -2451,7 +2430,6 @@ static int ext3_freeze(struct super_block *sb)
|
|
|
{
|
|
|
int error = 0;
|
|
|
journal_t *journal;
|
|
|
- sb->s_dirt = 0;
|
|
|
|
|
|
if (!(sb->s_flags & MS_RDONLY)) {
|
|
|
journal = EXT3_SB(sb)->s_journal;
|