Recent changes (master)

Jens Axboe
2015-04-28T11:59:55Z

The following changes since commit 7c306bb1d27de928cba1b58d7888981d44416fd1:

io_u: fix bug in rounding of generated buffer length (2015-04-24 10:41:58 -0600)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to 9451b93e81fb950a80da09e295e56b1ad4538509:

dedupe: improve 100% dedupe case (2015-04-27 09:37:11 -0600)

----------------------------------------------------------------
Jens Axboe (2):
dedupe: fix dedupe_percentage=100
dedupe: improve 100% dedupe case

io_u.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

---

Diff of recent changes:

diff --git a/io_u.c b/io_u.c
index 5064485..d00e6e3 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1896,8 +1896,10 @@ static struct frand_state *get_buf_state(struct thread_data *td)

if (!td->o.dedupe_percentage)
return &td->buf_state;
- else if (td->o.dedupe_percentage == 100)
- return &td->buf_state_prev;
+ else if (td->o.dedupe_percentage == 100) {
+ frand_copy(&td->buf_state_prev, &td->buf_state);
+ return &td->buf_state;
+ }

r = __rand(&td->dedupe_state);
v = 1 + (int) (100.0 * (r / (FRAND_MAX + 1.0)));
@@ -1910,7 +1912,9 @@ static struct frand_state *get_buf_state(struct thread_data *td)

static void save_buf_state(struct thread_data *td, struct frand_state *rs)
{
- if (rs == &td->buf_state)
+ if (td->o.dedupe_percentage == 100)
+ frand_copy(rs, &td->buf_state_prev);
+ else if (rs == &td->buf_state)
frand_copy(&td->buf_state_prev, rs);
}