| From 7ea1df02d0f2549b6249c8bee1f6ae02bf1251a9 Mon Sep 17 00:00:00 2001 |
| From: Baruch Siach <baruch@tkos.co.il> |
| Date: Sun, 25 Mar 2018 00:01:23 +0300 |
| Subject: [PATCH] xfs_scrub: fix build with older kernel headers |
| |
| 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@oracle.com> |
| Signed-off-by: Baruch Siach <baruch@tkos.co.il> |
| --- |
| Upstream status: https://patchwork.kernel.org/patch/10306419/ |
| |
| 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 |
| |