We want to test fiemap, so we want to lay out a file exactly a certain way. XFS
tries to be smart and will allocate data in a hole if the write pattern is
[data][hole][data]
where the hole is small enough. This screws with fiemap-tester sometimes, so
make it easy and just do O_DIRECT so that we get the layout we want and can get
back to testing fiemap. Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
int i = 0;
bufsize = sizeof(char) * blocksize;
- buf = malloc(bufsize);
- if (!buf)
+ if (posix_memalign((void **)&buf, 4096, bufsize))
return -1;
memset(buf, 'a', bufsize);
if (!fname)
usage();
- fd = open(fname, O_RDWR|O_CREAT|O_TRUNC, 0644);
+ fd = open(fname, O_RDWR|O_CREAT|O_TRUNC|O_DIRECT, 0644);
if (fd < 0) {
perror("Can't open file");
exit(1);