fio: replace malloc+memset with calloc
[fio.git] / filesetup.c
index 648f48c6289169e2faa7da36f7f1a96839e030ca..14c7610849218194c475366d8fe2f641084fa6ba 100644 (file)
@@ -303,13 +303,12 @@ static bool pre_read_file(struct thread_data *td, struct fio_file *f)
        if (bs > left)
                bs = left;
 
-       b = malloc(bs);
+       b = calloc(1, bs);
        if (!b) {
                td_verror(td, errno, "malloc");
                ret = false;
                goto error;
        }
-       memset(b, 0, bs);
 
        if (lseek(f->fd, f->file_offset, SEEK_SET) < 0) {
                td_verror(td, errno, "lseek");
@@ -1407,6 +1406,12 @@ done:
 
        td_restore_runstate(td, old_state);
 
+       if (td->o.fdp) {
+               err = fdp_init(td);
+               if (err)
+                       goto err_out;
+       }
+
        return 0;
 
 err_offset:
@@ -1584,6 +1589,8 @@ void fio_file_free(struct fio_file *f)
 {
        if (fio_file_axmap(f))
                axmap_free(f->io_axmap);
+       if (f->ruhs_info)
+               sfree(f->ruhs_info);
        if (!fio_file_smalloc(f)) {
                free(f->file_name);
                free(f);
@@ -1617,6 +1624,7 @@ void close_and_free_files(struct thread_data *td)
                }
 
                zbd_close_file(f);
+               fdp_free_ruhs_info(f);
                fio_file_free(f);
        }