Fix problem with too many opened files
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index 70d4b2b166f8208f6081c8544d2173c5ecfeee94..6464b6d917ff39c7ecf5fc5efcd87fc4f93c079b 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -1368,8 +1368,12 @@ static void run_threads(void)
                         * its own files. so close them, if we opened them
                         * for creation
                         */
-                       for_each_file(td, f, i)
-                               td_io_close_file(td, f);
+                       for_each_file(td, f, i) {
+                               if (fio_file_open(f))
+                                       td_io_close_file(td, f);
+                               else
+                                       assert(f->fd == -1);
+                       }
                }
 
                init_disk_util(td);