From 84edbfa27dfe1675db7a02dc2dc86b3f27f42bcb Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 4 Jun 2025 00:16:30 +0000 Subject: [PATCH] misc: define alternative errno if OS doesn't provide ENODATA FreeBSD doesn't define ENODATA, and uses ENOATTR when an extended attribute is not found. So map ENODATA to ENOATTR to fix a build failure for platforms that don't define ENODATA. Signed-off-by: Theodore Ts'o --- misc/fuse2fs.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c index b26303a..19d43af 100644 --- a/misc/fuse2fs.c +++ b/misc/fuse2fs.c @@ -100,6 +100,14 @@ #endif #endif /* !defined(EUCLEAN) */ +#if !defined(ENODATA) +#ifdef ENOATTR +#define ENODATA ENOATTR +#else +#define ENODATA ENOENT +#endif +#endif /* !defined(ENODATA) */ + static ext2_filsys global_fs; /* Try not to use this directly */ #define dbg_printf(fuse2fs, format, ...) \ @@ -4649,11 +4657,7 @@ static int __translate_error(ext2_filsys fs, ext2_ino_t ino, errcode_t err, ret = -EBUSY; break; case EXT2_ET_EA_KEY_NOT_FOUND: -#ifdef ENODATA ret = -ENODATA; -#else - ret = -ENOENT; -#endif break; /* Sometimes fuse returns a garbage file handle pointer to us... */ case EXT2_ET_MAGIC_EXT2_FILE: -- 1.8.3.1