X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=filesetup.c;h=1ecdda61c3f460f8ae03dda4a6a5cce9c7fd5278;hb=9bbefaa2056e8551805bbf8915adbc81cedd68e8;hp=3fc14641ed7d34380d5f735006eb129ab0b7faf0;hpb=3bf80dad77448afcb18148e72dc6cfe04bcf7e57;p=fio.git diff --git a/filesetup.c b/filesetup.c index 3fc14641..1ecdda61 100644 --- a/filesetup.c +++ b/filesetup.c @@ -329,7 +329,7 @@ static int char_size(struct thread_data *td, struct fio_file *f) int r; if (td->io_ops->open_file(td, f)) { - log_err("fio: failed opening blockdev %s for size check\n", + log_err("fio: failed opening chardev %s for size check\n", f->file_name); return 1; } @@ -890,8 +890,10 @@ int setup_files(struct thread_data *td) if (f->io_size == -1ULL) total_size = -1ULL; else { - if (o->size_percent) - f->io_size = (f->io_size * o->size_percent) / 100; + if (o->size_percent) { + f->io_size = (f->io_size * o->size_percent) / 100; + f->io_size -= (f->io_size % td_min_bs(td)); + } total_size += f->io_size; } @@ -1219,10 +1221,12 @@ static void get_file_type(struct fio_file *f) else f->filetype = FIO_TYPE_FILE; +#ifdef WIN32 /* \\.\ is the device namespace in Windows, where every file is * a block device */ if (strncmp(f->file_name, "\\\\.\\", 4) == 0) f->filetype = FIO_TYPE_BD; +#endif if (!stat(f->file_name, &sb)) { if (S_ISBLK(sb.st_mode)) @@ -1329,7 +1333,8 @@ int add_file(struct thread_data *td, const char *fname, int numjob, int inc) dprint(FD_FILE, "add file %s\n", fname); if (td->o.directory) - len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob); + len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob, + td->o.unique_filename); sprintf(file_name + len, "%s", fname);