EXT3_FEATURE_COMPAT_HAS_JOURNAL |
EXT2_FEATURE_COMPAT_DIR_INDEX, /* Compat */
EXT2_FEATURE_INCOMPAT_FILETYPE| /* Incompat */
+ EXT3_FEATURE_INCOMPAT_EXTENTS|
EXT4_FEATURE_INCOMPAT_FLEX_BG,
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER /* R/O compat */
};
{
int sparse, old_sparse, filetype, old_filetype;
int journal, old_journal, dxdir, old_dxdir;
- int flex_bg, old_flex_bg;
+ int flex_bg, old_flex_bg, extents, old_extents;
struct ext2_super_block *sb= fs->super;
__u32 old_compat, old_incompat, old_ro_compat;
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER;
old_filetype = sb->s_feature_incompat &
EXT2_FEATURE_INCOMPAT_FILETYPE;
+ old_extents = sb->s_feature_incompat &
+ EXT3_FEATURE_INCOMPAT_EXTENTS;
old_flex_bg = sb->s_feature_incompat &
EXT4_FEATURE_INCOMPAT_FLEX_BG;
old_journal = sb->s_feature_compat &
EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER;
filetype = sb->s_feature_incompat &
EXT2_FEATURE_INCOMPAT_FILETYPE;
+ extents = sb->s_feature_incompat &
+ EXT3_FEATURE_INCOMPAT_EXTENTS;
flex_bg = sb->s_feature_incompat &
EXT4_FEATURE_INCOMPAT_FLEX_BG;
journal = sb->s_feature_compat &
journal_size = -1;
sb->s_feature_compat &= ~EXT3_FEATURE_COMPAT_HAS_JOURNAL;
}
+ if (old_extents && !extents) {
+ fputs(_("Clearing the extents feature flag not supported.\n"),
+ stderr);
+ exit(1);
+ }
if (dxdir && !old_dxdir) {
if (!sb->s_def_hash_version)
sb->s_def_hash_version = EXT2_HASH_TEA;