Recent changes (master)
The following changes since commit 92060d6c59f1848e86cd9ddd7550907c79bda3d5:
arch-ppc.h: Add ilog2 implementation for ppc64 (2015-08-13 12:45:20 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 75f90d5f9859e985feee8b6aca7b913d15fd2296:
filesetup: make random generator block auto-switch on huge files (2015-08-14 12:25:20 -0600)
----------------------------------------------------------------
Jens Axboe (3):
eta: ensure we include terminating 0 space in je->run_str[]
client: make it explicit that we don't reuse 'eta' after freeing it
filesetup: make random generator block auto-switch on huge files
client.c | 25 +++++++++++++++---------- client.h | 1 - eta.c | 2 +- filesetup.c | 46 ++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 54 insertions(+), 20 deletions(-)
---
Diff of recent changes:
client.c +15 -10
@@ -184,6 +184,17 @@ void fio_put_client(struct fio_client *client)free (client); } +static int fio_client_dec_jobs_eta (struct client_eta *eta,client_eta_op eta_fn) +{ +if (!--eta->pending) { +eta_fn (&eta->eta); +free (eta); +return 0 ; + } + +return 1 ; +} +static void remove_client (struct fio_client *client) {assert (client->refs);
@@ -1091,14 +1102,6 @@ void fio_client_sum_jobs_eta(struct jobs_eta *dst, struct jobs_eta *je)strcpy ((char *) dst->run_str, (char *) je->run_str); } -void fio_client_dec_jobs_eta (struct client_eta *eta,client_eta_op eta_fn) -{ -if (!--eta->pending) { -eta_fn (&eta->eta); -free (eta); - } -} -static void remove_reply_cmd (struct fio_client *client,struct fio_net_cmd *cmd) {struct fio_net_cmd_reply *reply =NULL ;
@@ -1573,8 +1576,10 @@ static void request_client_etas(struct client_ops *ops) (uintptr_t) eta, &client->cmd_list); } -while (skipped--) -fio_client_dec_jobs_eta (eta, ops->eta); +while (skipped--) { +if (!fio_client_dec_jobs_eta (eta, ops->eta)) +break ; + }dprint (FD_NET ,"client: requested eta tag %p\n" , eta); }
client.h +0 -1
@@ -111,7 +111,6 @@ struct client_eta { };extern int fio_handle_client (struct fio_client *); -extern void fio_client_dec_jobs_eta (struct client_eta *eta,client_eta_op fn);extern void fio_client_sum_jobs_eta (struct jobs_eta *dst,struct jobs_eta *je);enum {
eta.c +1 -1
@@ -590,7 +590,7 @@ struct jobs_eta *get_jobs_eta(int force, size_t *size)if (!thread_number)return NULL ; - *size =sizeof (*je) +THREAD_RUNSTR_SZ ; + *size =sizeof (*je) +THREAD_RUNSTR_SZ +1 ; je =malloc (*size);if (!je)return NULL ;
filesetup.c +38 -8
59 lines not on this page · raw message