From: Gao Xiang <[email protected]>
Otherwise, an unexpected segfault will happen since
EROFS_FEATURE_INCOMPAT_FRAGMENTS and
EROFS_FEATURE_INCOMPAT_DEDUPE share the same bit.
Fixes: 18fbf7d12e4f ("erofs-utils: build xattrs upon extra long name prefixes")
Signed-off-by: Gao Xiang <[email protected]>
Signed-off-by: Jingbo Xu <[email protected]>
---
v2: flush packed inode when either cfg.c_fragments or
cfg.c_extra_ea_name_prefixes is specified
---
mkfs/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mkfs/main.c b/mkfs/main.c
index 467ea86..61387b3 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -903,7 +903,8 @@ int main(int argc, char **argv)
}
packed_nid = 0;
- if (erofs_sb_has_fragments()) {
+ if ((cfg.c_fragments || cfg.c_extra_ea_name_prefixes) &&
+ erofs_sb_has_fragments()) {
erofs_update_progressinfo("Handling packed_file ...");
packed_inode = erofs_mkfs_build_packedfile();
if (IS_ERR(packed_inode)) {
--
2.19.1.6.gb485710b