Message ID | 20160518174054.GA27634@tarantula.localdomain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, May 18, 2016 at 12:40:54PM -0500, Jeffrey Bastian wrote: > Linux kernel v4.5 defines 'struct fsxattr' in linux/fs.h [0] but it's > still defined in xfs/linux.h as a backup [1]. If the files are included > in the wrong order, the compiler will complain with a redefinition > error. This patch moves linux/fs.h (and linux/magic.h) before the xfs > headers for the t_immutable.c and fsstress.c tests. This patch _may_ not be necessary; this is also being discussed on the xfs list and including linux/fs.h in xfsprogs' include/linux.h solves the problem, i.e., the include order won't matter. On the other hand, it seems to be best-practice (if not a hard-and-fast rule) to include fs.h first, so maybe the patch should be applied to xfstests anyway? http://oss.sgi.com/archives/xfs/2016-05/msg00347.html
diff --git a/ltp/fsstress.c b/ltp/fsstress.c index 1e6c913294ae..7e7cf608f5f3 100644 --- a/ltp/fsstress.c +++ b/ltp/fsstress.c @@ -16,6 +16,7 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <linux/fs.h> #include "global.h" #ifdef HAVE_ATTR_XATTR_H @@ -34,7 +35,6 @@ #include <sys/prctl.h> #endif -#include <linux/fs.h> #ifndef FS_IOC_GETFLAGS #define FS_IOC_GETFLAGS _IOR('f', 1, long) #endif diff --git a/src/t_immutable.c b/src/t_immutable.c index 87ffc75f2d02..7fd9e5dd9625 100644 --- a/src/t_immutable.c +++ b/src/t_immutable.c @@ -38,11 +38,11 @@ #include <libgen.h> #include <sys/acl.h> #include <attr/xattr.h> +#include <linux/fs.h> +#include <linux/magic.h> #include <xfs/xfs.h> #include <xfs/handle.h> #include <xfs/jdm.h> -#include <linux/fs.h> -#include <linux/magic.h> #ifndef XFS_SUPER_MAGIC #define XFS_SUPER_MAGIC 0x58465342
Linux kernel v4.5 defines 'struct fsxattr' in linux/fs.h [0] but it's still defined in xfs/linux.h as a backup [1]. If the files are included in the wrong order, the compiler will complain with a redefinition error. This patch moves linux/fs.h (and linux/magic.h) before the xfs headers for the t_immutable.c and fsstress.c tests. [0] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=334e580a6f97e [1] http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfsprogs.git;a=blob;f=include/linux.h;h=cc0f70ceed72#l183 Signed-off-by: Jeffrey Bastian <jbastian@redhat.com> --- ltp/fsstress.c | 2 +- src/t_immutable.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)