fstests: convert fiemap-tester to use O_DIRECT
diff mbox

Message ID 1434566277-28967-1-git-send-email-jbacik@fb.com
State New
Headers show

Commit Message

Josef Bacik June 17, 2015, 6:37 p.m. UTC
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(-)

Patch
diff mbox

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);