Message ID | 1434566277-28967-1-git-send-email-jbacik@fb.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/src/fiemap-tester.c b/src/fiemap-tester.c index 8e633ab..5cb58fc 100644 --- a/src/fiemap-tester.c +++ b/src/fiemap-tester.c @@ -92,8 +92,7 @@ create_file_from_mapping(int fd, char *map, int blocks, int blocksize) 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); @@ -562,7 +561,7 @@ main(int argc, char **argv) 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);
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> --- src/fiemap-tester.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)