From: Nick Principe Date: Mon, 1 Jul 2019 19:45:21 +0000 (-0400) Subject: Increase maximum length of line in jobs file to 8192 X-Git-Tag: fio-3.15~3^2 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=07a2919d7a86607d42f5fb69f1f0ba98097d4d98 Increase maximum length of line in jobs file to 8192 Increase OPT_LEN_MAX to 8192, use OPT_LEN_MAX for string in __parse_jobs_ini(), and document line length limit for job files in man page. Signed-off-by: Nick Principe nick@princi.pe --- diff --git a/fio.1 b/fio.1 index 84b80eee..156201ad 100644 --- a/fio.1 +++ b/fio.1 @@ -201,6 +201,8 @@ argument, \fB\-\-cmdhelp\fR will detail the given \fIcommand\fR. See the `examples/' directory for inspiration on how to write job files. Note the copyright and license requirements currently apply to `examples/' files. + +Note that the maximum length of a line in the job file is 8192 bytes. .SH "JOB FILE PARAMETERS" Some parameters take an option of a given type, such as an integer or a string. Anywhere a numeric value is required, an arithmetic expression may be diff --git a/init.c b/init.c index 73834279..f7e7296f 100644 --- a/init.c +++ b/init.c @@ -1887,7 +1887,7 @@ static int __parse_jobs_ini(struct thread_data *td, } } - string = malloc(4096); + string = malloc(OPT_LEN_MAX); /* * it's really 256 + small bit, 280 should suffice @@ -1920,7 +1920,7 @@ static int __parse_jobs_ini(struct thread_data *td, if (is_buf) p = strsep(&file, "\n"); else - p = fgets(string, 4096, f); + p = fgets(string, OPT_LEN_MAX, f); if (!p) break; } @@ -1989,7 +1989,7 @@ static int __parse_jobs_ini(struct thread_data *td, if (is_buf) p = strsep(&file, "\n"); else - p = fgets(string, 4096, f); + p = fgets(string, OPT_LEN_MAX, f); if (!p) break; dprint(FD_PARSE, "%s", p); diff --git a/parse.h b/parse.h index b47a02c7..9b4e2f32 100644 --- a/parse.h +++ b/parse.h @@ -37,7 +37,7 @@ struct value_pair { void *cb; /* sub-option callback */ }; -#define OPT_LEN_MAX 4096 +#define OPT_LEN_MAX 8192 #define PARSE_MAX_VP 24 /*