Move platform dependent errno aliases

EBADE, EBADR, and ENOANO do not exist on FreeBSD

The libspl errno.h is similarly platform dependent.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9498
This commit is contained in:
Matthew Macy 2019-10-25 13:40:50 -07:00 committed by Brian Behlendorf
parent 68a1b1589a
commit 1952fe0e25
5 changed files with 22 additions and 11 deletions

View File

@ -44,4 +44,14 @@
#define ENOTSUP EOPNOTSUPP
/*
* We'll take the unused errnos, 'EBADE' and 'EBADR' (from the Convergent
* graveyard) to indicate checksum errors and fragmentation.
*/
#define ECKSUM EBADE
#define EFRAGS EBADR
/* Similar for ENOACTIVE */
#define ENOTACTIVE ENOANO
#endif /* _SYS_ERRNO_H */

View File

@ -265,16 +265,6 @@ enum zio_wait_type {
ZIO_WAIT_TYPES
};
/*
* We'll take the unused errnos, 'EBADE' and 'EBADR' (from the Convergent
* graveyard) to indicate checksum errors and fragmentation.
*/
#define ECKSUM EBADE
#define EFRAGS EBADR
/* Similar for ENOACTIVE */
#define ENOTACTIVE ENOANO
typedef void zio_done_func_t(zio_t *zio);
extern int zio_dva_throttle_enabled;

View File

@ -1,6 +1,7 @@
libspldir = $(includedir)/libspl/sys
libspl_HEADERS = \
$(top_srcdir)/lib/libspl/include/os/linux/sys/byteorder.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/errno.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/file.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/mnttab.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/mount.h \

View File

@ -31,5 +31,16 @@
*/
#ifndef _LIBSPL_SYS_ERRNO_H
#define _LIBSPL_SYS_ERRNO_H
#include <errno.h>
/*
* We'll take the unused errnos, 'EBADE' and 'EBADR' (from the Convergent
* graveyard) to indicate checksum errors and fragmentation.
*/
#define ECKSUM EBADE
#define EFRAGS EBADR
/* Similar for ENOACTIVE */
#define ENOTACTIVE ENOANO
#endif /* _LIBSPL_SYS_ERRNO_H */

View File

@ -11,7 +11,6 @@ libspl_HEADERS = \
$(top_srcdir)/lib/libspl/include/sys/debug.h \
$(top_srcdir)/lib/libspl/include/sys/dkio.h \
$(top_srcdir)/lib/libspl/include/sys/dklabel.h \
$(top_srcdir)/lib/libspl/include/sys/errno.h \
$(top_srcdir)/lib/libspl/include/sys/feature_tests.h \
$(top_srcdir)/lib/libspl/include/sys/int_limits.h \
$(top_srcdir)/lib/libspl/include/sys/int_types.h \