X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=backend.c;h=0075a733ffca7b2c5fd727f53d56d95e69592c17;hb=d87d9c6c611f74a5888c74568d545be200139498;hp=0d1f473442e368cd82443ae0352dba5878a2b072;hpb=c9964510c46844015a8f1509b792a171ab753969;p=fio.git diff --git a/backend.c b/backend.c index 0d1f4734..0075a733 100644 --- a/backend.c +++ b/backend.c @@ -134,8 +134,8 @@ static bool __check_min_rate(struct thread_data *td, struct timespec *now, unsigned long long bytes = 0; unsigned long iops = 0; unsigned long spent; - unsigned long rate; - unsigned int ratemin = 0; + unsigned long long rate; + unsigned long long ratemin = 0; unsigned int rate_iops = 0; unsigned int rate_iops_min = 0; @@ -169,7 +169,7 @@ static bool __check_min_rate(struct thread_data *td, struct timespec *now, * check bandwidth specified rate */ if (bytes < td->rate_bytes[ddir]) { - log_err("%s: rate_min=%uB/s not met, only transferred %lluB\n", + log_err("%s: rate_min=%lluB/s not met, only transferred %lluB\n", td->o.name, ratemin, bytes); return true; } else { @@ -180,7 +180,7 @@ static bool __check_min_rate(struct thread_data *td, struct timespec *now, if (rate < ratemin || bytes < td->rate_bytes[ddir]) { - log_err("%s: rate_min=%uB/s not met, got %luB/s\n", + log_err("%s: rate_min=%lluB/s not met, got %lluB/s\n", td->o.name, ratemin, rate); return true; } @@ -201,7 +201,7 @@ static bool __check_min_rate(struct thread_data *td, struct timespec *now, if (rate < rate_iops_min || iops < td->rate_blocks[ddir]) { - log_err("%s: rate_iops_min=%u not met, got %lu IOPS\n", + log_err("%s: rate_iops_min=%u not met, got %llu IOPS\n", td->o.name, rate_iops_min, rate); return true; } @@ -237,15 +237,10 @@ static void cleanup_pending_aio(struct thread_data *td) { int r; - if (td->error) - return; - /* * get immediately available events, if any */ r = io_u_queued_complete(td, 0); - if (r < 0) - return; /* * now cancel remaining active events @@ -1011,12 +1006,6 @@ static void do_io(struct thread_data *td, uint64_t *bytes_done) if (td->o.verify != VERIFY_NONE && io_u->ddir == DDIR_READ && ((io_u->flags & IO_U_F_VER_LIST) || !td_rw(td))) { - if (!td->o.verify_pattern_bytes) { - io_u->rand_seed = __rand(&td->verify_state); - if (sizeof(int) != sizeof(long *)) - io_u->rand_seed *= __rand(&td->verify_state); - } - if (verify_state_should_stop(td, io_u)) { put_io_u(td, io_u); break; @@ -2120,8 +2109,16 @@ static int fio_verify_load_state(struct thread_data *td) td->thread_number - 1, &data); if (!ret) verify_assign_state(td, data); - } else - ret = verify_load_state(td, "local"); + } else { + char prefix[PATH_MAX]; + + if (aux_path) + sprintf(prefix, "%s%clocal", aux_path, + FIO_OS_PATH_SEPARATOR); + else + strcpy(prefix, "local"); + ret = verify_load_state(td, prefix); + } return ret; }