#include "tests.h" #ifdef HAVE_LINUX_FIEMAP_H # include <stdio.h> # include <sys/ioctl.h> # include <linux/fiemap.h> # include <linux/fs.h> # include "xlat.h" # include "xlat/fiemap_flags.h" static void test_fiemap(void) { (void) tail_alloc(1); TAIL_ALLOC_OBJECT_CONST_PTR(struct fiemap, args); printf("ioctl(-1, FS_IOC_FIEMAP, {fm_start=%" PRI__u64 ", fm_length=%" PRI__u64", fm_flags=", args->fm_start, args->fm_length); printflags(fiemap_flags, args->fm_flags, "FIEMAP_FLAG_???"); printf(", fm_extent_count=%u})", args->fm_extent_count); ioctl(-1, FS_IOC_FIEMAP, args); printf(" = -1 EBADF (%m)\n"); /* The live version of this test is in btrfs.c */ } /* clone and dedupe ioctls are in btrfs.c since they originated there */ int main(int argc, char *argv[]) { test_fiemap(); puts("+++ exited with 0 +++"); return 0; } #else SKIP_MAIN_UNDEFINED("HAVE_LINUX_FIEMAP_H") #endif