Add three missing EROFS_FEATURE_COMPAT_* entries to feature_lists: - EROFS_FEATURE_COMPAT_SHARED_EA_IN_METABOX - EROFS_FEATURE_COMPAT_PLAIN_XATTR_PFX - EROFS_FEATURE_COMPAT_ISHARE_XATTRS
Also separate the feature output into two lines: 'Filesystem features(compatible)' and 'Filesystem features(incompatible)' for better readability. Signed-off-by: Yifan Zhao <[email protected]> --- dump/main.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/dump/main.c b/dump/main.c index 8422bb9..9879b6c 100644 --- a/dump/main.c +++ b/dump/main.c @@ -96,6 +96,9 @@ static struct erofsdump_feature feature_lists[] = { { true, 0, EROFS_FEATURE_COMPAT_SB_CHKSUM, "sb_csum" }, { true, 0, EROFS_FEATURE_COMPAT_MTIME, "mtime" }, { true, 0, EROFS_FEATURE_COMPAT_XATTR_FILTER, "xattr_filter" }, + { true, 0, EROFS_FEATURE_COMPAT_SHARED_EA_IN_METABOX, "shared_ea_in_metabox" }, + { true, 0, EROFS_FEATURE_COMPAT_PLAIN_XATTR_PFX, "plain_xattr_pfx" }, + { true, 0, EROFS_FEATURE_COMPAT_ISHARE_XATTRS, "ishare_xattrs" }, { false, 504U, EROFS_FEATURE_INCOMPAT_LZ4_0PADDING, "lz4_0padding" }, { false, 513U, EROFS_FEATURE_INCOMPAT_COMPR_CFGS, "compr_cfgs" }, { false, 513U, EROFS_FEATURE_INCOMPAT_BIG_PCLUSTER, "big_pcluster" }, @@ -675,12 +678,21 @@ static void erofsdump_show_superblock(void) g_sbi.inos | 0ULL); fprintf(stdout, "Filesystem created: %s", ctime(&time)); - fprintf(stdout, "Filesystem features: "); + fprintf(stdout, "Filesystem features(compatible): "); for (i = 0; i < ARRAY_SIZE(feature_lists); i++) { - u32 feat = le32_to_cpu(feature_lists[i].compat ? - g_sbi.feature_compat : - g_sbi.feature_incompat); - if (feat & feature_lists[i].flag) { + if (!feature_lists[i].compat) + continue; + if (le32_to_cpu(g_sbi.feature_compat) & feature_lists[i].flag) { + fprintf(stdout, "%s ", feature_lists[i].name); + if (feature_lists[i].lkver > minkver) + minkver = feature_lists[i].lkver; + } + } + fprintf(stdout, "\nFilesystem features(incompatible): "); + for (i = 0; i < ARRAY_SIZE(feature_lists); i++) { + if (feature_lists[i].compat) + continue; + if (le32_to_cpu(g_sbi.feature_incompat) & feature_lists[i].flag) { fprintf(stdout, "%s ", feature_lists[i].name); if (feature_lists[i].lkver > minkver) minkver = feature_lists[i].lkver; -- 2.47.3
