X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=init.c;h=124bdbbbf2fa30beabcb62e69814f2b20f951791;hp=bc1bb9334e1c646d3089d8e3fdf04a9a20faf82c;hb=c581b165dbaffc349c495c7b8ed452a41acb9319;hpb=5736c10dccc4124d99178b94e6759386420e5251 diff --git a/init.c b/init.c index bc1bb933..124bdbbb 100644 --- a/init.c +++ b/init.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include @@ -21,7 +20,9 @@ #include "verify.h" #include "profile.h" -static char fio_version_string[] = "fio 1.42"; +#include "lib/getopt.h" + +static char fio_version_string[] = "fio 1.50-rc1"; #define FIO_RANDSEED (0xb1899bedUL) @@ -193,6 +194,8 @@ static int __setup_rate(struct thread_data *td, enum fio_ddir ddir) unsigned int bs = td->o.min_bs[ddir]; unsigned long long bytes_per_sec; + assert(ddir_rw(ddir)); + if (td->o.rate[ddir]) bytes_per_sec = td->o.rate[ddir]; else @@ -428,7 +431,9 @@ static int exists_and_not_file(const char *filename) if (lstat(filename, &sb) == -1) return 0; - if (S_ISREG(sb.st_mode)) + /* \\.\ is the device namespace in Windows, where every file + * is a device node */ + if (S_ISREG(sb.st_mode) && strncmp(filename, "\\\\.\\", 4) != 0) return 0; return 1; @@ -444,6 +449,7 @@ void td_fill_rand_seeds(struct thread_data *td) os_random_seed(td->rand_seeds[3], &td->next_file_state); os_random_seed(td->rand_seeds[5], &td->file_size_state); + os_random_seed(td->rand_seeds[6], &td->trim_state); if (!td_random(td)) return; @@ -954,7 +960,6 @@ static int setup_thread_area(void) static void usage(const char *name) { - printf("%s\n", fio_version_string); printf("%s [options] [job options] \n", name); printf("\t--debug=options\tEnable debug logging\n"); printf("\t--output\tWrite output to file\n"); @@ -1193,6 +1198,8 @@ int parse_options(int argc, char *argv[]) f_out = stdout; f_err = stderr; + log_info("%s\n", fio_version_string); + fio_options_dup_and_init(l_opts); if (setup_thread_area()) @@ -1219,7 +1226,7 @@ int parse_options(int argc, char *argv[]) if (exec_profile) return 0; - log_err("No jobs defined(s)\n\n"); + log_err("No jobs(s) defined\n\n"); usage(argv[0]); return 1; }