* device/file sizes are zero and no size given, punt
*/
if ((!total_size || total_size == -1ULL) && !td->o.size &&
- !(td->io_ops->flags & FIO_NOIO)) {
+ !(td->io_ops->flags & FIO_NOIO) && !td->o.fill_device) {
log_err("%s: you need to specify size=\n", td->o.name);
td_verror(td, EINVAL, "total_file_size");
return 1;
* zero, set it to the real file size.
*/
f->io_size = td->o.size / td->o.nr_files;
- if (!f->io_size || f->io_size > f->real_file_size) {
+ if ((!f->io_size || f->io_size > f->real_file_size) &&
+ f->real_file_size) {
if (f->file_offset > f->real_file_size)
goto err_offset;
f->io_size = f->real_file_size - f->file_offset;