[PATCH] Fix int vs long problems in parsing some options
[fio.git] / filesetup.c
index 52d822ac4b6c8fb1bff042fd56aae96e0846c9da..a1633827fe8eca63017bb8a2d91b731dd9854b73 100644 (file)
@@ -44,12 +44,17 @@ static int create_file(struct thread_data *td, struct fio_file *f)
                goto err;
        }
 
-       b = malloc(td->max_bs);
-       memset(b, 0, td->max_bs);
+       if (posix_fallocate(f->fd, 0, f->file_size) < 0) {
+               td_verror(td, errno);
+               goto err;
+       }
+
+       b = malloc(td->max_bs[DDIR_WRITE]);
+       memset(b, 0, td->max_bs[DDIR_WRITE]);
 
        left = f->file_size;
        while (left && !td->terminate) {
-               bs = td->max_bs;
+               bs = td->max_bs[DDIR_WRITE];
                if (bs > left)
                        bs = left;