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 <[email protected]>
---
 src/fiemap-tester.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

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

--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to