From: Jens Axboe Date: Fri, 20 Oct 2006 08:14:01 +0000 (+0200) Subject: [PATCH] Fixup io size on block devices X-Git-Tag: fio-1.7~9 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=f102706350093e60617cc271b128e56c57ab3ce7;hp=34572e28f8cf45ba4e2601797f2aa4a114601fb2;ds=sidebyside [PATCH] Fixup io size on block devices Still leftover bugs from the > 1 file per job changes. Signed-off-by: Jens Axboe --- diff --git a/filesetup.c b/filesetup.c index d0e3ed21..3f9bdb83 100644 --- a/filesetup.c +++ b/filesetup.c @@ -98,23 +98,24 @@ static int create_files(struct thread_data *td) return 0; } - if (!td->total_file_size) { - log_err("Need size for create\n"); - td_verror(td, EINVAL); - return 1; - } - need_create = 0; for_each_file(td, f, i) { - f->file_size = td->total_file_size / td->nr_files; - need_create += file_ok(td, f); + if (td->filetype == FIO_TYPE_FILE) { + f->file_size = td->total_file_size / td->nr_files; + need_create += file_ok(td, f); + } else + td->total_file_size += f->file_size; } - td->io_size = td->total_file_size; - if (!need_create) return 0; + if (!td->total_file_size) { + log_err("Need size for create\n"); + td_verror(td, EINVAL); + return 1; + } + temp_stall_ts = 1; fprintf(f_out, "%s: Laying out IO file(s) (%d x %LuMiB == %LuMiB)\n", td->name, td->nr_files, @@ -347,6 +348,7 @@ static int setup_file(struct thread_data *td, struct fio_file *f) if (get_file_size(td, f)) return 1; + td->total_file_size += f->file_size; return 0; } @@ -365,12 +367,17 @@ int setup_files(struct thread_data *td) if (create_files(td)) return 1; + err = 0; for_each_file(td, f, i) { err = setup_file(td, f); if (err) break; } + if (err) + return err; + + td->io_size = td->total_file_size; if (td->io_size == 0) { log_err("%s: no io blocks\n", td->name); td_verror(td, EINVAL);