}
}
- b = malloc(td->o.max_bs[DDIR_WRITE]);
+ left = f->real_file_size;
+ bs = td->o.max_bs[DDIR_WRITE];
+ if (bs > left)
+ bs = left;
+
+ b = malloc(bs);
if (!b) {
td_verror(td, errno, "malloc");
goto err;
}
- left = f->real_file_size;
while (left && !td->terminate) {
- bs = td->o.max_bs[DDIR_WRITE];
if (bs > left)
bs = left;
unsigned int bs;
char *b;
- if (td_ioengine_flagged(td, FIO_PIPEIO))
+ if (td_ioengine_flagged(td, FIO_PIPEIO) ||
+ td_ioengine_flagged(td, FIO_NOIO))
return 0;
if (!fio_file_open(f)) {
old_runstate = td_bump_runstate(td, TD_PRE_READING);
+ left = f->io_size;
bs = td->o.max_bs[DDIR_READ];
+ if (bs > left)
+ bs = left;
+
b = malloc(bs);
if (!b) {
td_verror(td, errno, "malloc");
goto error;
}
- left = f->io_size;
-
while (left && !td->terminate) {
if (bs > left)
bs = left;