projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for O_ATOMIC
[fio.git]
/
backend.c
diff --git
a/backend.c
b/backend.c
index 00a23db6ecd1dfa6caaf98124605653bd2c85c97..2ec478c1ac206ebf4163a2e854fb77002dba2366 100644
(file)
--- a/
backend.c
+++ b/
backend.c
@@
-926,7
+926,8
@@
static int init_io_u(struct thread_data *td)
* overflow later. this adjustment may be too much if we get
* lucky and the allocator gives us an aligned address.
*/
* overflow later. this adjustment may be too much if we get
* lucky and the allocator gives us an aligned address.
*/
- if (td->o.odirect || td->o.mem_align || (td->io_ops->flags & FIO_RAWIO))
+ if (td->o.odirect || td->o.mem_align || td->o.oatomic ||
+ (td->io_ops->flags & FIO_RAWIO))
td->orig_buffer_size += page_mask + td->o.mem_align;
if (td->o.mem_type == MEM_SHMHUGE || td->o.mem_type == MEM_MMAPHUGE) {
td->orig_buffer_size += page_mask + td->o.mem_align;
if (td->o.mem_type == MEM_SHMHUGE || td->o.mem_type == MEM_MMAPHUGE) {
@@
-944,7
+945,7
@@
static int init_io_u(struct thread_data *td)
if (data_xfer && allocate_io_mem(td))
return 1;
if (data_xfer && allocate_io_mem(td))
return 1;
- if (td->o.odirect || td->o.mem_align ||
+ if (td->o.odirect || td->o.mem_align ||
td->o.oatomic ||
(td->io_ops->flags & FIO_RAWIO))
p = PAGE_ALIGN(td->orig_buffer) + td->o.mem_align;
else
(td->io_ops->flags & FIO_RAWIO))
p = PAGE_ALIGN(td->orig_buffer) + td->o.mem_align;
else