diff --git a/lib/libzfs/libzfs_diff.c b/lib/libzfs/libzfs_diff.c index 31e18aad27..8140a703a2 100644 --- a/lib/libzfs/libzfs_diff.c +++ b/lib/libzfs/libzfs_diff.c @@ -160,18 +160,22 @@ print_what(FILE *fp, mode_t what) case S_IFDIR: symbol = '/'; break; +#ifdef S_IFDOOR case S_IFDOOR: symbol = '>'; break; +#endif case S_IFIFO: symbol = '|'; break; case S_IFLNK: symbol = '@'; break; +#ifdef S_IFPORT case S_IFPORT: symbol = 'P'; break; +#endif case S_IFSOCK: symbol = '='; break; diff --git a/module/zfs/include/sys/zfs_znode.h b/module/zfs/include/sys/zfs_znode.h index b2477eddba..aa1f449acf 100644 --- a/module/zfs/include/sys/zfs_znode.h +++ b/module/zfs/include/sys/zfs_znode.h @@ -149,9 +149,12 @@ extern "C" { /* * Convert mode bits (zp_mode) to BSD-style DT_* values for storing in - * the directory entries. + * the directory entries. On Linux systems this value is already + * defined correctly as part of the /usr/include/dirent.h header file. */ +#ifndef IFTODT #define IFTODT(mode) (((mode) & S_IFMT) >> 12) +#endif /* * The directory entry has the type (currently unused on Solaris) in the