Dmitry V. Levin
eabace12c4
Automatically convert tests to use TAIL_ALLOC_OBJECT_CONST_PTR macro with the following sed expression: sed -ri \ 's/^([[:space:]]*)(([^*]+[[:alnum:]_])( \*)?) *\*( *const )?([^ =]+) = tail_alloc\(sizeof\((\2|\*\6)\)\);/\1TAIL_ALLOC_OBJECT_CONST_PTR(\2, \6);/' \ tests/*.c
46 lines
916 B
C
46 lines
916 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);
|
|
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
|