X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=lwext4%2Fext4_config.h;h=17da6bb68116a6ffbd77c58a02842f8b0b3ce989;hb=fad2d51c6c20323408b13f5ff95c3794ace78376;hp=65c8e102e363eb6183985f4982f283df4f2966d1;hpb=8209c29e3262a9093f48e98ac52ee98c3d0ed4d1;p=lwext4.git diff --git a/lwext4/ext4_config.h b/lwext4/ext4_config.h index 65c8e10..17da6bb 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 +/*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_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) +#define CONFIG_META_CSUM_ENABLE (CONFIG_SUPPORTED_FRO_COM & EXT4_FRO_COM_METADATA_CSUM) + /*****************************************************************************/ /**@brief Enable directory indexing comb sort*/ @@ -139,7 +130,22 @@ /**@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 Use full extent implemrntation*/ +#ifndef CONFIG_EXTENT_FULL +#define CONFIG_EXTENT_FULL 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_ */