Fix stat(2) related bugs introduced by changes made for Windows
[fio.git] / libfio.c
index b17f14841ac1b069cc7b0c3d3aa745b2bd1d2f02..25866758be9fac27001fdf9715e47f36fa6779dd 100644 (file)
--- a/libfio.c
+++ b/libfio.c
@@ -33,6 +33,7 @@
 #include "smalloc.h"
 #include "os/os.h"
 #include "filelock.h"
+#include "helper_thread.h"
 
 /*
  * Just expose an empty list, if the OS does not support disk util stats
@@ -151,6 +152,7 @@ void reset_all_stats(struct thread_data *td)
 
        lat_target_reset(td);
        clear_rusage_stat(td);
+       helper_reset();
 }
 
 void reset_fio_state(void)
@@ -272,14 +274,18 @@ int fio_running_or_pending_io_threads(void)
 {
        struct thread_data *td;
        int i;
+       int nr_io_threads = 0;
 
        for_each_td(td, i) {
                if (td->flags & TD_F_NOIO)
                        continue;
+               nr_io_threads++;
                if (td->runstate < TD_EXITED)
                        return 1;
        }
 
+       if (!nr_io_threads)
+               return -1; /* we only had cpuio threads to begin with */
        return 0;
 }