blob: 9a6c31a65d912ba39a44f2cae1ce9ec8378146a6 [file] [log] [blame]
Jens Axboeebac4652005-12-08 15:25:21 +01001/*
2 * fio - the flexible io tester
3 *
4 * Copyright (C) 2005 Jens Axboe <axboe@suse.de>
Jens Axboe2e1df072012-02-09 11:15:02 +01005 * Copyright (C) 2006-2012 Jens Axboe <axboe@kernel.dk>
Jens Axboeebac4652005-12-08 15:25:21 +01006 *
Jens Axboe8e9fe632006-10-24 15:11:09 +02007 * The license below covers all files distributed with fio unless otherwise
8 * noted in the file itself.
9 *
Jens Axboeebac4652005-12-08 15:25:21 +010010 * This program is free software; you can redistribute it and/or modify
Jens Axboe8e9fe632006-10-24 15:11:09 +020011 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
Jens Axboeebac4652005-12-08 15:25:21 +010013 *
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 */
Jens Axboeebac4652005-12-08 15:25:21 +010024#include <unistd.h>
Jens Axboedbe11252007-02-11 00:19:51 +010025#include <locale.h>
Jens Axboea5b01f12010-11-11 09:19:49 +010026#include <time.h>
Jens Axboeebac4652005-12-08 15:25:21 +010027
28#include "fio.h"
Jens Axboe210f43b2007-04-17 19:52:18 +020029#include "hash.h"
Jens Axboe2e5cdb12008-03-01 18:52:49 +010030#include "smalloc.h"
Jens Axboe4f5af7b2009-06-03 08:45:40 +020031#include "verify.h"
Jens Axboea917a8b2010-09-02 13:23:20 +020032#include "trim.h"
Jens Axboe7c9b1bc2009-06-03 09:25:57 +020033#include "diskutil.h"
Jens Axboe07b32322010-03-05 09:48:44 +010034#include "profile.h"
Jens Axboed54a1442010-03-25 23:07:35 +010035#include "lib/rand.h"
Jens Axboe91aea6e2011-04-25 20:46:58 +020036#include "memalign.h"
Stephen M. Camerondd366722012-02-24 08:17:30 +010037#include "client.h"
Jens Axboe009b1be2011-09-29 18:27:02 -060038#include "server.h"
Jens Axboed529ee12009-07-01 10:33:03 +020039
Jens Axboe50d16972011-09-29 17:45:28 -060040int main(int argc, char *argv[], char *envp[])
41{
Stephen M. Cameron480b8112012-02-24 08:17:31 +010042 if (initialize_fio(envp))
Jens Axboe0ad5edc2011-10-05 12:39:06 +020043 return 1;
Jens Axboe50d16972011-09-29 17:45:28 -060044
45 if (parse_options(argc, argv))
46 return 1;
47
Jens Axboeb9d2f302012-03-08 20:36:28 +010048 if (nr_clients) {
49 if (fio_start_all_clients())
50 return 1;
Stephen M. Camerondd366722012-02-24 08:17:30 +010051 return fio_handle_clients(&fio_client_ops);
Jens Axboeb9d2f302012-03-08 20:36:28 +010052 } else
Jens Axboe2e1df072012-02-09 11:15:02 +010053 return fio_backend();
Jens Axboe50d16972011-09-29 17:45:28 -060054}