Info

#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001

#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002

#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004

#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff

□ Incompatible features (s_incompat_features) — With regard to old versions render a filesystem unusable if old code is used. A filesystem cannot be mounted if an enhancement of this kind, which the kernel does not understand, is present. ext2_feature_incompat_eeatdke macros assign numeric values to the incompatible enhancements. An example of this kind of enhancement is ''on the fly'' compression that stores all files in packed form — compressed file contents are meaningless, in both Read and Write mode, to filesystem code that cannot unpack them.

Other incompatible features are: ext2_fs.h

#define EXT2_FEATURE_INCOMPAT_COMPRESSION

0x0001 0x0002 0x0004 0x0008 0x0010

#define EXT2_FEATURE_INCOMPAT_FILETYPE #define EXT3_FEATURE_INCOMPAT_RECOVER

#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV

#define EXT2_FEATURE_INCOMPAT_META_BG #define EXT2_FEATURE_INCOMPAT_ANY

0xffffffff

All three field elements are bitmaps whose individual bits represent a specific kernel enhancement. This enables the kernel to determine (by means of comparisons with pre-defined constants) which of the features it knows can be used on a filesystem. It is also able to scan the entries for features it doesn't know (these are marked by bits set at positions it doesn't know) and to decide, according to category, how to handle the filesystem.

Some elements of the structure are not used by the Ext2 code as they are provided for future enhancements envisaged when the structure was designed. This is intended to dispense with the need to reformat filesystems when new features are added. Reformatting is often impracticable on heavily loaded server systems.

In the further course of the present description, reference is made to some of these fields when discussing potential enhancements to existing functionality.

Continue reading here: Group Descriptor

Was this article helpful?

0 0