X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=lwext4%2Fext4_config.h;h=0695ba5afcbf75188240abdf7511e72b1569165d;hb=dba02ea68719d50d0fd45d4edf2eac5f81c83fd6;hp=5b0af0c2c62bb228c6d475027f088d277a8d4b84;hpb=94d428f1fb88c5c45eba3fd586fa73e5d346b9e0;p=lwext4.git diff --git a/lwext4/ext4_config.h b/lwext4/ext4_config.h index 5b0af0c..0695ba5 100644 --- a/lwext4/ext4_config.h +++ b/lwext4/ext4_config.h @@ -37,6 +37,10 @@ #ifndef EXT4_CONFIG_H_ #define EXT4_CONFIG_H_ +#ifdef __cplusplus +extern "C" { +#endif + #ifdef CONFIG_HAVE_OWN_CFG #include #endif @@ -54,42 +58,29 @@ /*****************************************************************************/ #if CONFIG_EXT_FEATURE_SET_LVL == F_SET_EXT2 -#define CONFIG_DIR_INDEX_ENABLE 0 -#define CONFIG_EXTENT_ENABLE 0 - -/*Superblock features flag*/ -#define CONFIG_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_SUPP - -#define CONFIG_FEATURE_INCOMPAT_SUPP \ - (EXT2_FEATURE_INCOMPAT_SUPP | FEATURE_INCOMPAT_IGNORED) +/*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 -#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) +#define CONFIG_META_CSUM_ENABLE (CONFIG_SUPPORTED_FRO_COM & EXT4_FRO_COM_METADATA_CSUM) + /*****************************************************************************/ /**@brief Enable directory indexing comb sort*/ @@ -114,7 +105,7 @@ /**@brief Include assert codes from ext4_debug or standard library.*/ #ifndef CONFIG_HAVE_OWN_ASSERT -#define CONFIG_HAVE_OWN_ASSERT 0 +#define CONFIG_HAVE_OWN_ASSERT 1 #endif /**@brief Statistics of block device*/ @@ -139,7 +130,17 @@ /**@brief Include open flags from ext4_errno or standard library.*/ #ifndef CONFIG_HAVE_OWN_OFLAGS -#define CONFIG_HAVE_OWN_OFLAGS 0 +#define CONFIG_HAVE_OWN_OFLAGS 1 +#endif + +/**@brief Maximum single truncate size. Transactions must be limited to reduce + * number of allocetions for single transaction*/ +#ifndef CONFIG_MAX_TRUNCATE_SIZE +#define CONFIG_MAX_TRUNCATE_SIZE (16 * 1024 * 1024) +#endif + +#ifdef __cplusplus +} #endif #endif /* EXT4_CONFIG_H_ */