Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit a3c86fc452d1c5e6ec78c6c2617540c34b7d9035:

  Remove duplicate LDFLAGS on -o lines (2013-09-04 14:12:09 -0600)

are available in the git repository at:
  git://git.kernel.dk/fio.git master

Jens Axboe (2):
      Fix problem with --showcmd and callbacks that verify
      Catch more places where the callback should just return on parse/check

 fio.h     |    1 +
 init.c    |   10 ++++++++--
 options.c |   34 +++++++++++++++++++++++++++++++++-
 3 files changed, 42 insertions(+), 3 deletions(-)

---

Diff of recent changes:

diff --git a/fio.h b/fio.h
index e7d5c27..0d7fbeb 100644
--- a/fio.h
+++ b/fio.h
@@ -420,6 +420,7 @@ extern void td_fill_rand_seeds(struct thread_data *);
 extern void add_job_opts(const char **, int);
 extern char *num2str(unsigned long, int, int, int, int);
 extern int ioengine_load(struct thread_data *);
+extern int parse_dryrun(void);
 
 extern uintptr_t page_mask;
 extern uintptr_t page_size;
diff --git a/init.c b/init.c
index 1afc341..bf54e95 100644
--- a/init.c
+++ b/init.c
@@ -915,6 +915,12 @@ static char *make_filename(char *buf, struct thread_options *o,
 
 	return buf;
 }
+
+int parse_dryrun(void)
+{
+	return dump_cmdline || parse_only;
+}
+
 /*
  * Adds a job to the list of things todo. Sanitizes the various options
  * to make sure we don't have conflicts, and initializes various
@@ -939,7 +945,7 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num,
 	/*
 	 * if we are just dumping the output command line, don't add the job
 	 */
-	if (dump_cmdline || parse_only) {
+	if (parse_dryrun()) {
 		put_job(td);
 		return 0;
 	}
@@ -1944,7 +1950,7 @@ int parse_options(int argc, char *argv[])
 	fio_options_free(&def_thread);
 
 	if (!thread_number) {
-		if (dump_cmdline || parse_only)
+		if (parse_dryrun())
 			return 0;
 		if (exec_profile)
 			return 0;
diff --git a/options.c b/options.c
index caf89d3..a064764 100644
--- a/options.c
+++ b/options.c
@@ -168,6 +168,9 @@ static int str_bssplit_cb(void *data, const char *input)
 	char *str, *p, *odir, *ddir;
 	int ret = 0;
 
+	if (parse_dryrun())
+		return 0;
+
 	p = str = strdup(input);
 
 	strip_blank_front(&str);
@@ -290,6 +293,10 @@ static int str_ignore_error_cb(void *data, const char *input)
 	struct thread_data *td = data;
 	char *str, *p, *n;
 	int type = 0, ret = 1;
+
+	if (parse_dryrun())
+		return 0;
+
 	p = str = strdup(input);
 
 	strip_blank_front(&str);
@@ -315,6 +322,9 @@ static int str_rw_cb(void *data, const char *str)
 	struct thread_options *o = &td->o;
 	char *nr = get_opt_postfix(str);
 
+	if (parse_dryrun())
+		return 0;
+
 	o->ddir_seq_nr = 1;
 	o->ddir_seq_add = 0;
 
@@ -391,6 +401,9 @@ static int str_cpumask_cb(void *data, unsigned long long *val)
 	long max_cpu;
 	int ret;
 
+	if (parse_dryrun())
+		return 0;
+
 	ret = fio_cpuset_init(&td->o.cpumask);
 	if (ret < 0) {
 		log_err("fio: cpuset_init failed\n");
@@ -489,6 +502,9 @@ static int str_cpus_allowed_cb(void *data, const char *input)
 	struct thread_data *td = data;
 	int ret;
 
+	if (parse_dryrun())
+		return 0;
+
 	ret = set_cpus_allowed(td, &td->o.cpumask, input);
 	if (!ret)
 		td->o.cpumask_set = 1;
@@ -514,6 +530,9 @@ static int str_numa_cpunodes_cb(void *data, char *input)
 {
 	struct thread_data *td = data;
 
+	if (parse_dryrun())
+		return 0;
+
 	/* numa_parse_nodestring() parses a character string list
 	 * of nodes into a bit mask. The bit mask is allocated by
 	 * numa_allocate_nodemask(), so it should be freed by
@@ -536,8 +555,12 @@ static int str_numa_mpol_cb(void *data, char *input)
 	const char * const policy_types[] =
 		{ "default", "prefer", "bind", "interleave", "local", NULL };
 	int i;
+	char *nodelist;
 
-	char *nodelist = strchr(input, ':');
+	if (parse_dryrun())
+		return 0;
+
+	nodelist = strchr(input, ':');
 	if (nodelist) {
 		/* NUL-terminate mode */
 		*nodelist++ = '\0';
@@ -669,6 +692,9 @@ static int str_random_distribution_cb(void *data, const char *str)
 	double val;
 	char *nr;
 
+	if (parse_dryrun())
+		return 0;
+
 	if (td->o.random_distribution == FIO_RAND_DIST_ZIPF)
 		val = 1.1;
 	else if (td->o.random_distribution == FIO_RAND_DIST_PARETO)
@@ -777,6 +803,9 @@ static int str_directory_cb(void *data, const char fio_unused *str)
 	struct thread_data *td = data;
 	struct stat sb;
 
+	if (parse_dryrun())
+		return 0;
+
 	if (lstat(td->o.directory, &sb) < 0) {
 		int ret = errno;
 
@@ -796,6 +825,9 @@ static int str_opendir_cb(void *data, const char fio_unused *str)
 {
 	struct thread_data *td = data;
 
+	if (parse_dryrun())
+		return 0;
+
 	if (!td->files_index)
 		td->o.nr_files = 0;
 
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux