3586679f7a
* tests/btrfs.c: New file. * tests/btrfs.test: New test. * tests/btrfs-v.test: Likewise. * tests/.gitignore: Add btrfs. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add btrfs.test and btrfs-v.test.
46 lines
921 B
C
46 lines
921 B
C
#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);
|
|
struct fiemap *const args = tail_alloc(sizeof(*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
|