From: Theodore Ts'o Date: Wed, 4 Jun 2025 00:16:30 +0000 (+0000) Subject: misc: define alternative errno if OS doesn't provide ENODATA X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=84edbfa27dfe1675db7a02dc2dc86b3f27f42bcb;p=tools%2Fe2fsprogs.git 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 --- 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: