We do our best to keep copyright headers up to date, yet git history provides better information on this subject and is more accurate than copyright headers.
53 lines
1.0 KiB
C
53 lines
1.0 KiB
C
/*
|
|
* Copyright (c) 2016-2018 The strace developers.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#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
|