> > > > Index: linux-2.6.26-rc2/fs/ext3/super.c > > =================================================================== > > --- linux-2.6.26-rc2.orig/fs/ext3/super.c > > +++ linux-2.6.26-rc2/fs/ext3/super.c > > @@ -395,7 +395,10 @@ static void ext3_put_super (struct super > > ext3_xattr_put_super(sb); > > journal_destroy(sbi->s_journal); > > if (!(sb->s_flags & MS_RDONLY)) { > > - EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); > > + if (!is_checkpoint_aborted(sbi->s_journal)) { > > + EXT3_CLEAR_INCOMPAT_FEATURE(sb, > > + EXT3_FEATURE_INCOMPAT_RECOVER); > > + } > > es->s_state = cpu_to_le16(sbi->s_mount_state); > > BUFFER_TRACE(sbi->s_sbh, "marking dirty"); > > mark_buffer_dirty(sbi->s_sbh); > > Is this bit here really needed? If we abort the journal the fs will be mounted > read only and we should never get in here. Is there a case where we could abort > the journal and not be flipped to being read-only? If there is such a case I > would think that we should fix that by making the fs read-only, and not have > this check. Actually, journal_abort() (which could be called from journal_destroy()) does nothing to the filesystem as such. So at this moment, ext3 can still happily think everything is OK. We only detect aborted journal in ext3_journal_start_sb() and call ext3_abort() in that case, which does all that is needed... Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html