int calc_lat(struct io_stat *is, unsigned long *min, unsigned long *max,
double *mean, double *dev)
{
- double n = is->samples;
+ double n = (double) is->samples;
- if (is->samples == 0)
+ if (n == 0)
return 0;
*min = is->min_val;
*max = is->max_val;
-
- n = (double) is->samples;
*mean = is->mean.u.f;
if (n > 1.0)
static int check_status_file(void)
{
struct stat sb;
+ const char *temp_dir;
+ char fio_status_file_path[PATH_MAX];
+
+ temp_dir = getenv("TMPDIR");
+ if (temp_dir == NULL)
+ temp_dir = getenv("TEMP");
+ if (temp_dir == NULL)
+ temp_dir = "/tmp";
+
+ snprintf(fio_status_file_path, sizeof(fio_status_file_path), "%s/%s", temp_dir, FIO_STATUS_FILE);
- if (stat(FIO_STATUS_FILE, &sb))
+ if (stat(fio_status_file_path, &sb))
return 0;
- unlink(FIO_STATUS_FILE);
+ unlink(fio_status_file_path);
return 1;
}