projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gfio: Add support for sending logs over the network
[fio.git]
/
io_u.c
diff --git
a/io_u.c
b/io_u.c
index 06ca711b57e4ec9a18bf39d75acf2c98ce13740e..20794c38a88c5d9bea08d50f8865fe398576a235 100644
(file)
--- a/
io_u.c
+++ b/
io_u.c
@@
-1070,6
+1070,7
@@
again:
assert(io_u->flags & IO_U_F_FREE);
io_u->flags &= ~(IO_U_F_FREE | IO_U_F_FREE_DEF);
io_u->flags &= ~(IO_U_F_TRIMMED | IO_U_F_BARRIER);
assert(io_u->flags & IO_U_F_FREE);
io_u->flags &= ~(IO_U_F_FREE | IO_U_F_FREE_DEF);
io_u->flags &= ~(IO_U_F_TRIMMED | IO_U_F_BARRIER);
+ io_u->flags &= ~IO_U_F_VER_LIST;
io_u->error = 0;
flist_del(&io_u->list);
io_u->error = 0;
flist_del(&io_u->list);
@@
-1226,13
+1227,15
@@
struct io_u *get_io_u(struct thread_data *td)
f->last_pos = io_u->offset + io_u->buflen;
if (io_u->ddir == DDIR_WRITE) {
f->last_pos = io_u->offset + io_u->buflen;
if (io_u->ddir == DDIR_WRITE) {
- if (td->o.verify != VERIFY_NONE)
- populate_verify_io_u(td, io_u);
- else if (td->o.refill_buffers) {
+ if (td->o.refill_buffers) {
io_u_fill_buffer(td, io_u,
io_u->xfer_buflen, io_u->xfer_buflen);
} else if (td->o.scramble_buffers)
do_scramble = 1;
io_u_fill_buffer(td, io_u,
io_u->xfer_buflen, io_u->xfer_buflen);
} else if (td->o.scramble_buffers)
do_scramble = 1;
+ if (td->o.verify != VERIFY_NONE) {
+ populate_verify_io_u(td, io_u);
+ do_scramble = 0;
+ }
} else if (io_u->ddir == DDIR_READ) {
/*
* Reset the buf_filled parameters so next time if the
} else if (io_u->ddir == DDIR_READ) {
/*
* Reset the buf_filled parameters so next time if the
@@
-1542,8
+1545,11
@@
void io_u_fill_buffer(struct thread_data *td, struct io_u *io_u,
unsigned int perc = td->o.compress_percentage;
if (perc) {
unsigned int perc = td->o.compress_percentage;
if (perc) {
+ unsigned int seg = min_write;
+
+ seg = min(min_write, td->o.compress_chunk);
fill_random_buf_percentage(&td->buf_state, io_u->buf,
fill_random_buf_percentage(&td->buf_state, io_u->buf,
- perc,
min_write
, max_bs);
+ perc,
seg
, max_bs);
} else
fill_random_buf(&td->buf_state, io_u->buf, max_bs);
} else
} else
fill_random_buf(&td->buf_state, io_u->buf, max_bs);
} else