#include "profile.h"
#include "server.h"
#include "idletime.h"
+#include "filelock.h"
#include "lib/getopt.h"
#include "lib/strcasestr.h"
+#include "crc/test.h"
+
const char fio_version_string[] = FIO_VERSION;
#define FIO_RANDSEED (0xb1899bedUL)
static struct thread_data def_thread;
struct thread_data *threads = NULL;
+static char **job_sections;
+static int nr_job_sections;
int exitall_on_terminate = 0;
int output_format = FIO_OUTPUT_NORMAL;
int eta_new_line = 0;
FILE *f_out = NULL;
FILE *f_err = NULL;
-char **job_sections = NULL;
-int nr_job_sections = 0;
char *exec_profile = NULL;
int warnings_fatal = 0;
int terse_version = 3;
}
}
-void free_shm(void)
+static void free_shm(void)
{
if (threads) {
file_hash_exit();
}
options_free(fio_options, &def_thread);
+ fio_filelock_exit();
scleanup();
}
if (setup_rate(td))
goto err;
- if (o->lat_log_file) {
+ if (o->lat_log_file || write_lat_log) {
setup_log(&td->lat_log, o->log_avg_msec, IO_LOG_TYPE_LAT);
setup_log(&td->slat_log, o->log_avg_msec, IO_LOG_TYPE_SLAT);
setup_log(&td->clat_log, o->log_avg_msec, IO_LOG_TYPE_CLAT);
}
- if (o->bw_log_file)
+ if (o->bw_log_file || write_bw_log)
setup_log(&td->bw_log, o->log_avg_msec, IO_LOG_TYPE_BW);
if (o->iops_log_file)
setup_log(&td->iops_log, o->log_avg_msec, IO_LOG_TYPE_IOPS);
return 0;
}
-void parse_cmd_client(void *client, char *opt)
+static void parse_cmd_client(void *client, char *opt)
{
fio_client_add_cmd_option(client, opt);
}
-extern int fio_crctest(const char *);
-
int parse_cmd_line(int argc, char *argv[], int client_type)
{
struct thread_data *td = NULL;
if (do_exit && !(is_backend || nr_clients))
exit(exit_val);
- if (nr_clients && fio_clients_connect()) {
- do_exit++;
- exit_val = 1;
- return -1;
- }
+ if (nr_clients && fio_clients_connect())
+ exit(1);
if (is_backend && backend)
return fio_start_server(pid_file);