*
*/
#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <limits.h>
-#include <signal.h>
-#include <time.h>
#include <locale.h>
-#include <assert.h>
#include <time.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <sys/mman.h>
#include "fio.h"
#include "hash.h"
#include "verify.h"
#include "trim.h"
#include "diskutil.h"
-#include "cgroup.h"
#include "profile.h"
#include "lib/rand.h"
#include "memalign.h"
+#include "client.h"
#include "server.h"
+#include "endian_check.h"
unsigned long page_mask;
unsigned long page_size;
-int groupid = 0;
-unsigned int thread_number = 0;
-unsigned int nr_process = 0;
-unsigned int nr_thread = 0;
-int shm_id = 0;
-int temp_stall_ts;
-unsigned long done_secs = 0;
-
-/*
- * Just expose an empty list, if the OS does not support disk util stats
- */
-#ifndef FIO_HAVE_DISK_UTIL
-FLIST_HEAD(disk_list);
-#endif
-
-unsigned long arch_flags = 0;
-
-static int endian_check(void)
-{
- union {
- uint8_t c[8];
- uint64_t v;
- } u;
- int le = 0, be = 0;
-
- u.v = 0x12;
- if (u.c[7] == 0x12)
- be = 1;
- else if (u.c[0] == 0x12)
- le = 1;
-
-#if defined(FIO_LITTLE_ENDIAN)
- if (be)
- return 1;
-#elif defined(FIO_BIG_ENDIAN)
- if (le)
- return 1;
-#else
- return 1;
-#endif
-
- if (!le && !be)
- return 1;
-
- return 0;
-}
-
int main(int argc, char *argv[], char *envp[])
{
long ps;
return 1;
if (nr_clients)
- return fio_handle_clients();
+ return fio_handle_clients(&fio_client_ops);
else
return fio_backend();
}