Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
if (td->o.mem_type == MEM_SHMHUGE || td->o.mem_type == MEM_MMAPHUGE)
td->orig_buffer_size = (td->orig_buffer_size + td->o.hugepage_size - 1) & ~(td->o.hugepage_size - 1);
- else if (td->orig_buffer_size & page_mask)
- td->orig_buffer_size = (td->orig_buffer_size + page_mask) & ~page_mask;
if (td->orig_buffer_size != (size_t) td->orig_buffer_size) {
log_err("fio: IO memory too large. Reduce max_bs or iodepth\n");
static int alloc_mem_malloc(struct thread_data *td)
{
- td->orig_buffer = malloc(td->orig_buffer_size);
+ unsigned int bsize = td->orig_buffer_size;
+
+ if (td->o.odirect)
+ bsize += page_mask;
+
+ td->orig_buffer = malloc(bsize);
if (td->orig_buffer)
return 0;