[PATCH 1/2] erofs-utils: mkfs: fix double write of long xattr name prefixes

Jingbo Xu jefflexu at linux.alibaba.com
Thu Aug 10 16:46:32 AEST 2023


Fix double write of long xattr name prefixes in non-tarerofs mode.

Besides fix the compiling error of tar.h.  Include "internal.h" to
introduce prototypes of `struct erofs_inode` and `struct erofs_sb_info`.

Fixes: 95d315fd7958 ("erofs-utils: introduce tarerofs")
Signed-off-by: Jingbo Xu <jefflexu at linux.alibaba.com>
---
 include/erofs/tar.h | 11 +++++++++++
 mkfs/main.c         |  3 ---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/include/erofs/tar.h b/include/erofs/tar.h
index 8d3f8de..b7c2ef8 100644
--- a/include/erofs/tar.h
+++ b/include/erofs/tar.h
@@ -2,8 +2,15 @@
 #ifndef __EROFS_TAR_H
 #define __EROFS_TAR_H
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 #include <sys/stat.h>
 
+#include "internal.h"
+
 struct erofs_pax_header {
 	struct stat st;
 	bool use_mtime;
@@ -27,4 +34,8 @@ int tarerofs_parse_tar(struct erofs_inode *root, struct erofs_tarfile *tar);
 int tarerofs_reserve_devtable(struct erofs_sb_info *sbi, unsigned int devices);
 int tarerofs_write_devtable(struct erofs_sb_info *sbi, struct erofs_tarfile *tar);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/mkfs/main.c b/mkfs/main.c
index 9c2397c..c03a7a8 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -912,9 +912,6 @@ int main(int argc, char **argv)
 
 	erofs_inode_manager_init();
 
-	if (cfg.c_extra_ea_name_prefixes)
-		erofs_xattr_write_name_prefixes(&sbi, packedfile);
-
 	if (!tar_mode) {
 		err = erofs_build_shared_xattrs_from_path(&sbi, cfg.c_src_path);
 		if (err) {
-- 
2.19.1.6.gb485710b



More information about the Linux-erofs mailing list