The OVERRIDE_SYSTEM_FSXATTR macro in include/linux.h is meant to override the linux/fs.h kernel header provided struct fsxattr for kernels older than v4.7. A few source files include linux/fs.h before the local linux.h, making this override ineffective. Remove these header includes from the source files, and rely on the linux.h include alone. This fixes the following build failures: In file included from ../include/xfs.h:37:0, from disk.c:40: ../include/xfs/linux.h:185:8: error: redefinition of 'struct fsxattr' struct fsxattr { ^~~~~~~ In file included from ../include/xfs.h:37:0, from ../include/project.h:22, from ../include/input.h:24, from phase1.c:38: ../include/xfs/linux.h:185:8: error: redefinition of 'struct fsxattr' struct fsxattr { ^~~~~~~ Cc: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> --- scrub/disk.c | 1 - scrub/phase1.c | 1 - 2 files changed, 2 deletions(-) diff --git a/scrub/disk.c b/scrub/disk.c index e12175c8656c..54d7a2a77c45 100644 --- a/scrub/disk.c +++ b/scrub/disk.c @@ -28,7 +28,6 @@ #include <sys/ioctl.h> #include <sys/statvfs.h> #include <sys/vfs.h> -#include <linux/fs.h> #ifdef HAVE_SG_IO # include <scsi/sg.h> #endif diff --git a/scrub/phase1.c b/scrub/phase1.c index 6cd544233c94..d15689e1b544 100644 --- a/scrub/phase1.c +++ b/scrub/phase1.c @@ -32,7 +32,6 @@ #include <stdbool.h> #include <pthread.h> #include <errno.h> -#include <linux/fs.h> #include "libfrog.h" #include "workqueue.h" #include "input.h" -- 2.16.2 -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html