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@linux.alibaba.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20230810064633.56218-1-jefflexu@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
#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;
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
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) {