Missing text in iodepth_batch* help entries
[fio.git] / filesetup.c
index 0b297641b11da6277b2b2c753c8d8cd6ccf11468..464c0f2018f51672f88cdd2bd3ced44c8bceda4e 100644 (file)
@@ -121,12 +121,12 @@ err:
 
 static unsigned long long get_rand_file_size(struct thread_data *td)
 {
-       unsigned long long ret, size_d;
+       unsigned long long ret, sized;
        long r;
 
        r = os_random_long(&td->file_size_state);
-       size_d = td->o.file_size_high - td->o.file_size_low;
-       ret = (unsigned long long) ((double) size_d * (r / (RAND_MAX + 1.0)));
+       sized = td->o.file_size_high - td->o.file_size_low;
+       ret = (unsigned long long) ((double) sized * (r / (OS_RAND_MAX + 1.0)));
        ret += td->o.file_size_low;
        ret -= (ret % td->o.rw_min_bs);
        return ret;
@@ -543,8 +543,10 @@ int setup_files(struct thread_data *td)
         */
        if (need_extend) {
                temp_stall_ts = 1;
-               log_info("%s: Laying out IO file(s) (%u file(s) / %LuMiB)\n",
-                       td->o.name, need_extend, extend_size >> 20);
+               if (!terse_output)
+                       log_info("%s: Laying out IO file(s) (%u file(s) /"
+                                " %LuMiB)\n", td->o.name, need_extend,
+                                       extend_size >> 20);
 
                for_each_file(td, f, i) {
                        unsigned long long old_len, extend_len;
@@ -647,6 +649,7 @@ void close_and_free_files(struct thread_data *td)
                }
 
                td_io_close_file(td, f);
+               remove_file_hash(f);
 
                sfree(f->file_name);
                f->file_name = NULL;
@@ -694,6 +697,11 @@ int add_file(struct thread_data *td, const char *fname)
        dprint(FD_FILE, "add file %s\n", fname);
 
        f = smalloc(sizeof(*f));
+       if (!f) {
+               log_err("fio: smalloc OOM\n");
+               assert(0);
+       }
+               
        f->fd = -1;
 
        dprint(FD_FILE, "resize file array to %d files\n", cur_files + 1);
@@ -712,7 +720,11 @@ int add_file(struct thread_data *td, const char *fname)
 
        sprintf(file_name + len, "%s", fname);
        f->file_name = smalloc_strdup(file_name);
-
+       if (!f->file_name) {
+               log_err("fio: smalloc OOM\n");
+               assert(0);
+       }
+       
        get_file_type(f);
 
        switch (td->o.file_lock_mode) {
@@ -905,9 +917,20 @@ void dup_files(struct thread_data *td, struct thread_data *org)
                struct fio_file *__f;
 
                __f = smalloc(sizeof(*__f));
-
-               if (f->file_name)
+               if (!__f) {
+                       log_err("fio: smalloc OOM\n");
+                       assert(0);
+               }
+       
+               if (f->file_name) {
                        __f->file_name = smalloc_strdup(f->file_name);
+                       if (!__f->file_name) {
+                               log_err("fio: smalloc OOM\n");
+                               assert(0);
+                       }
+       
+                       __f->filetype = f->filetype;
+               }
 
                td->files[i] = __f;
        }