xfs/122: fix xfs header ordering problems
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 24 Jan 2018 23:53:29 +0000 (15:53 -0800)
committerEryu Guan <eguan@redhat.com>
Thu, 25 Jan 2018 07:55:07 +0000 (15:55 +0800)
XFS headers are supposed to be included in a certain order so that
inline functions actually compile correctly.  For the most part the
shell feeds us the files in an order that works, but with the
addition of the xfs_dir2_dirblock_bytes function this doesn't always
work now.  Therefore, explicitly #include the headers in the
required order.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/xfs/122

index 671a77bcef5014e850f52d064c44ee5bf2263afc..d836670156bac19b880c3b130b7929550449b56f 100755 (executable)
@@ -79,6 +79,11 @@ cat >$cprog <<EOF
 #define _GNU_SOURCE
 #include <stdio.h>
 EOF
+# Certain headers must be included in a certain order...
+for hdr in xfs.h xfs_types.h xfs_fs.h xfs_arch.h xfs_format.h; do
+       test -e "/usr/include/xfs/$hdr" && echo "#include <xfs/$hdr>" >> $cprog
+done
+# ...but be sure to pull in any new headers that might show up.
 for hdr in /usr/include/xfs/xfs*.h; do
        echo "#include <$(echo "$hdr" | sed -e 's|/usr/include/||g')>" >> $cprog
 done