tests/btrfs.c: fix build on systems without <linux/btrfs.h> or <linux/fiemap.h>
* tests/btrfs.c: Include "tests.h" first.
Skip the test if [!HAVE_LINUX_BTRFS_H]. Skip parts of the test
that use struct fiemap if [!HAVE_LINUX_FIEMAP_H].
diff --git a/tests/btrfs.c b/tests/btrfs.c
index 72d817a..9a3cc0f 100644
--- a/tests/btrfs.c
+++ b/tests/btrfs.c
@@ -1,3 +1,7 @@
+#include "tests.h"
+
+#ifdef HAVE_LINUX_BTRFS_H
+
#include <stdio.h>
#include <stdint.h>
#include <string.h>
@@ -16,9 +20,6 @@
#include <linux/fs.h>
#include <linux/btrfs.h>
#include <linux/magic.h>
-#include <linux/fiemap.h>
-#include "config.h"
-#include "tests.h"
#include "xlat.h"
#include "xlat/btrfs_balance_args.h"
@@ -40,8 +41,11 @@
#include "xlat/btrfs_features_incompat.h"
#include "xlat/btrfs_key_types.h"
-#include "xlat/fiemap_flags.h"
-#include "xlat/fiemap_extent_flags.h"
+#ifdef HAVE_LINUX_FIEMAP_H
+# include <linux/fiemap.h>
+# include "xlat/fiemap_flags.h"
+# include "xlat/fiemap_extent_flags.h"
+#endif
#ifndef BTRFS_LABEL_SIZE
#define BTRFS_LABEL_SIZE 256
@@ -1155,6 +1159,7 @@
", size=%" PRI__u64", inodes=0x%" PRI__x64
"}) = -1 EBADF (%m)\n", args.inum, args.size, args.fspath);
+#ifdef HAVE_LINUX_FIEMAP_H
if (btrfs_test_root) {
int size;
struct stat si;
@@ -1262,6 +1267,7 @@
close(fd);
free(fiemap);
}
+#endif /* HAVE_LINUX_FIEMAP_H */
}
/*
@@ -1849,3 +1855,9 @@
return 0;
}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_BTRFS_H")
+
+#endif