ref: cfc7b2cf39210f7c38b6d42fb4fc678576499343
parent: 7879c285ab00cf261988b46638fe347b39cb142e
author: gkostka <kostka.grzegorz@gmail.com>
date: Tue Oct 27 16:15:59 EDT 2015
Feature set definitions refactoring (shorter names)
--- a/lwext4/ext4_config.h
+++ b/lwext4/ext4_config.h
@@ -54,41 +54,27 @@
/*****************************************************************************/
#if CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT2
-#define CONFIG_DIR_INDEX_ENABLE 0
-#define CONFIG_EXTENT_ENABLE 0
+/*Superblock features flag EXT2*/
+#define CONFIG_SUPPORTED_FCOM EXT2_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT2_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT2_SUPPORTED_FRO_COM
-/*Superblock features flag*/
-#define CONFIG_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_SUPP
-
-#define CONFIG_FEATURE_INCOMPAT_SUPP \
- (EXT2_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED)
-
-#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT2_FEATURE_RO_COMPAT_SUPP
#elif CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT3
-#define CONFIG_DIR_INDEX_ENABLE 1
-#define CONFIG_EXTENT_ENABLE 0
-
-/*Superblock features flag*/
-#define CONFIG_FEATURE_COMPAT_SUPP EXT3_FEATURE_COMPAT_SUPP
-
-#define CONFIG_FEATURE_INCOMPAT_SUPP \
- (EXT3_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED)
-
-#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT3_FEATURE_RO_COMPAT_SUPP
+/*Superblock features flag EXT3*/
+#define CONFIG_SUPPORTED_FCOM EXT3_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT3_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT3_SUPPORTED_FRO_COM
#elif CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT4
-#define CONFIG_DIR_INDEX_ENABLE 1
-#define CONFIG_EXTENT_ENABLE 1
-
-/*Superblock features flag*/
-#define CONFIG_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_SUPP
-
-#define CONFIG_FEATURE_INCOMPAT_SUPP \
- (EXT4_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED)
-
-#define CONFIG_FEATURE_RO_COMPAT_SUPP EXT4_FEATURE_RO_COMPAT_SUPP
+/*Superblock features flag EXT4*/
+#define CONFIG_SUPPORTED_FCOM EXT4_SUPPORTED_FCOM
+#define CONFIG_SUPPORTED_FINCOM (EXT4_SUPPORTED_FINCOM | EXT_FINCOM_IGNORED)
+#define CONFIG_SUPPORTED_FRO_COM EXT4_SUPPORTED_FRO_COM
#else
#define "Unsupported CONFIG_EXT_FEATURE_SET_LVL"
#endif
+
+#define CONFIG_DIR_INDEX_ENABLE (CONFIG_SUPPORTED_FCOM & EXT4_FCOM_DIR_INDEX)
+#define CONFIG_EXTENT_ENABLE (CONFIG_SUPPORTED_FINCOM & EXT4_FINCOM_EXTENTS)
/*****************************************************************************/
--- a/lwext4/ext4_fs.c
+++ b/lwext4/ext4_fs.c
@@ -217,7 +217,7 @@
/*Check features_incompatible*/
v = (ext4_get32(&fs->sb, features_incompatible) &
- (~CONFIG_FEATURE_INCOMPAT_SUPP));
+ (~CONFIG_SUPPORTED_FINCOM));
if (v) {
ext4_dbg(DEBUG_FS, DBG_ERROR
"sblock has unsupported features incompatible:\n");
@@ -227,7 +227,7 @@
/*Check features_read_only*/
v = (ext4_get32(&fs->sb, features_read_only) &
- (~CONFIG_FEATURE_RO_COMPAT_SUPP));
+ (~CONFIG_SUPPORTED_FRO_COM));
if (v) {
ext4_dbg(DEBUG_FS, DBG_WARN
"sblock has unsupported features read only:\n");
--- a/lwext4/ext4_mkfs.c
+++ b/lwext4/ext4_mkfs.c
@@ -388,9 +388,9 @@
info->inodes_per_group = compute_inodes_per_group(info);
- info->feat_compat = CONFIG_FEATURE_COMPAT_SUPP;
- info->feat_ro_compat = CONFIG_FEATURE_RO_COMPAT_SUPP;
- info->feat_incompat = CONFIG_FEATURE_INCOMPAT_SUPP;
+ info->feat_compat = CONFIG_SUPPORTED_FCOM;
+ info->feat_ro_compat = CONFIG_SUPPORTED_FRO_COM;
+ info->feat_incompat = CONFIG_SUPPORTED_FINCOM;
if (info->no_journal == 0)
info->feat_compat |= EXT4_FCOM_HAS_JOURNAL;
--- a/lwext4/ext4_types.h
+++ b/lwext4/ext4_types.h
@@ -235,24 +235,24 @@
/*
* EXT2 supported feature set
*/
-#define EXT2_FEATURE_COMPAT_SUPP 0x0000
+#define EXT2_SUPPORTED_FCOM 0x0000
-#define EXT2_FEATURE_INCOMPAT_SUPP \
+#define EXT2_SUPPORTED_FINCOM \
(EXT4_FINCOM_FILETYPE | EXT4_FINCOM_META_BG)
-#define EXT2_FEATURE_RO_COMPAT_SUPP \
- (EXT4_FRO_COM_SPARSE_SUPER | \
+#define EXT2_SUPPORTED_FRO_COM \
+ (EXT4_FRO_COM_SPARSE_SUPER | \
EXT4_FRO_COM_LARGE_FILE | EXT4_FRO_COM_BTREE_DIR)
/*
* EXT3 supported feature set
*/
-#define EXT3_FEATURE_COMPAT_SUPP (EXT4_FCOM_DIR_INDEX)
+#define EXT3_SUPPORTED_FCOM (EXT4_FCOM_DIR_INDEX)
-#define EXT3_FEATURE_INCOMPAT_SUPP \
+#define EXT3_SUPPORTED_FINCOM \
(EXT4_FINCOM_FILETYPE | EXT4_FINCOM_META_BG)
-#define EXT3_FEATURE_RO_COMPAT_SUPP \
+#define EXT3_SUPPORTED_FRO_COM \
(EXT4_FRO_COM_SPARSE_SUPER | \
EXT4_FRO_COM_LARGE_FILE | EXT4_FRO_COM_BTREE_DIR)
@@ -259,14 +259,14 @@
/*
* EXT4 supported feature set
*/
-#define EXT4_FEATURE_COMPAT_SUPP (EXT4_FCOM_DIR_INDEX)
+#define EXT4_SUPPORTED_FCOM (EXT4_FCOM_DIR_INDEX)
-#define EXT4_FEATURE_INCOMPAT_SUPP \
+#define EXT4_SUPPORTED_FINCOM \
(EXT4_FINCOM_FILETYPE | EXT4_FINCOM_META_BG | \
EXT4_FINCOM_EXTENTS | EXT4_FINCOM_FLEX_BG | \
EXT4_FINCOM_64BIT)
-#define EXT4_FEATURE_RO_COMPAT_SUPP \
+#define EXT4_SUPPORTED_FRO_COM \
(EXT4_FRO_COM_SPARSE_SUPER | \
EXT4_FRO_COM_METADATA_CSUM | \
EXT4_FRO_COM_LARGE_FILE | EXT4_FRO_COM_GDT_CSUM | \
@@ -279,16 +279,16 @@
* (probably won't be ever...)
* MMP - multi-mout protection (impossible scenario)
* */
-#define FEATURE_INCOMPAT_IGNORED \
+#define EXT_FINCOM_IGNORED \
EXT4_FINCOM_RECOVER | EXT4_FINCOM_MMP
#if 0
/*TODO: Features incompatible to implement*/
-#define EXT4_FEATURE_INCOMPAT_SUPP
+#define EXT4_SUPPORTED_FINCOM
(EXT4_FINCOM_INLINE_DATA)
/*TODO: Features read only to implement*/
-#define EXT4_FEATURE_RO_COMPAT_SUPP
+#define EXT4_SUPPORTED_FRO_COM
EXT4_FRO_COM_BIGALLOC |\
EXT4_FRO_COM_QUOTA)
#endif