[PATCH] erofs-utils: dump: add missing compat features and separate feature display
Gao Xiang
hsiangkao at linux.alibaba.com
Wed Feb 25 19:50:05 AEDT 2026
On 2026/2/25 16:46, Yifan Zhao wrote:
> 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(compat)' and 'Filesystem features(incompat)'
`Filesystem features (compatible)` and
`Filesystem features (incompatible)` ?
> for better readability.
>
> Signed-off-by: Yifan Zhao <zhaoyifan28 at huawei.com>
> ---
> dump/main.c | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/dump/main.c b/dump/main.c
> index 8422bb9..1c4e8b2 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(compat): ");
Same here.
> 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(incompat): ");
Same here.
Thanks,
Gao Xiang
More information about the Linux-erofs
mailing list