1 /* 2 * fio - the flexible io tester 3 * 4 * Copyright (C) 2005 Jens Axboe <axboe (at) suse.de> 5 * Copyright (C) 2006-2012 Jens Axboe <axboe (at) kernel.dk> 6 * 7 * The license below covers all files distributed with fio unless otherwise 8 * noted in the file itself. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License version 2 as 12 * published by the Free Software Foundation. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 * 23 */ 24 #include <unistd.h> 25 #include <locale.h> 26 #include <time.h> 27 28 #include "fio.h" 29 #include "smalloc.h" 30 31 int main(int argc, char *argv[], char *envp[]) 32 { 33 if (initialize_fio(envp)) 34 return 1; 35 36 #if !defined(CONFIG_GETTIMEOFDAY) && !defined(CONFIG_CLOCK_GETTIME) 37 #error "No available clock source!" 38 #endif 39 40 if (parse_options(argc, argv)) 41 return 1; 42 43 fio_time_init(); 44 45 if (nr_clients) { 46 set_genesis_time(); 47 48 if (fio_start_all_clients()) 49 return 1; 50 return fio_handle_clients(&fio_client_ops); 51 } else 52 return fio_backend(); 53 } 54