#include <errno.h>
#include <unistd.h>
#include <getopt.h>
+#include <linux/types.h>
+#include <linux/fs.h>
+#include <linux/lustre/lustre_user.h>
-#ifndef HAVE_FIEMAP
-# include <linux/fiemap.h>
-#endif
-
-#ifdef __linux__
-# ifndef FS_IOC_FIEMAP
-# define FS_IOC_FIEMAP (_IOWR('f', 11, struct fiemap))
-# endif
+#ifndef FS_IOC_FIEMAP
+# define FS_IOC_FIEMAP (_IOWR('f', 11, struct fiemap))
#endif
#define ONEMB 1048576
memset(&fiemap_buf, 0, sizeof(fiemap_buf));
fiemap->fm_start = 0;
- fiemap->fm_flags = FIEMAP_FLAG_SYNC;
+ fiemap->fm_flags = (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_DEVICE_ORDER);
fiemap->fm_extent_count = count;
fiemap->fm_length = FIEMAP_MAX_OFFSET;
{
int c;
struct option long_opts[] = {
- {"test", no_argument, 0, 't'},
- {NULL, 0, NULL, 0}
+ { .name = "test", .has_arg = no_argument, .val = 't' },
+ { .name = NULL }
};
int fd;
int rc;