diff --git a/SOURCES/fio-3.13-Kill-No-I-O-performed-by-.-message.patch b/SOURCES/fio-3.13-Kill-No-I-O-performed-by-.-message.patch new file mode 100644 index 0000000..a0f554c --- /dev/null +++ b/SOURCES/fio-3.13-Kill-No-I-O-performed-by-.-message.patch @@ -0,0 +1,64 @@ +From ff3aa922570c22b99b7ae8714e04a79d0d0eddb7 Mon Sep 17 00:00:00 2001 +From: Jens Axboe +Date: Tue, 20 Nov 2018 11:59:36 -0700 +Subject: [PATCH] Kill "No I/O performed by ..." message + +We keep finding false triggers for this, and it's driving me +nuts. Kill it with fire. + +Signed-off-by: Jens Axboe +--- + backend.c | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +Index: fio-3.7/backend.c +=================================================================== +--- fio-3.7.orig/backend.c ++++ fio-3.7/backend.c +@@ -1519,7 +1519,7 @@ static void *thread_main(void *data) + struct sk_out *sk_out = fd->sk_out; + uint64_t bytes_done[DDIR_RWDIR_CNT]; + int deadlock_loop_cnt; +- bool clear_state, did_some_io; ++ bool clear_state; + int ret; + + sk_out_assign(sk_out); +@@ -1738,7 +1738,6 @@ static void *thread_main(void *data) + + memset(bytes_done, 0, sizeof(bytes_done)); + clear_state = false; +- did_some_io = false; + + while (keep_running(td)) { + uint64_t verify_bytes; +@@ -1816,9 +1815,6 @@ static void *thread_main(void *data) + td_ioengine_flagged(td, FIO_UNIDIR)) + continue; + +- if (ddir_rw_sum(bytes_done)) +- did_some_io = true; +- + clear_io_state(td, 0); + + fio_gettime(&td->start, NULL); +@@ -1839,19 +1835,6 @@ static void *thread_main(void *data) + break; + } + +- /* +- * If td ended up with no I/O when it should have had, +- * then something went wrong unless FIO_NOIO or FIO_DISKLESSIO. +- * (Are we not missing other flags that can be ignored ?) +- */ +- if ((td->o.size || td->o.io_size) && !ddir_rw_sum(bytes_done) && +- !did_some_io && !td->o.create_only && +- !(td_ioengine_flagged(td, FIO_NOIO) || +- td_ioengine_flagged(td, FIO_DISKLESSIO))) +- log_err("%s: No I/O performed by %s, " +- "perhaps try --debug=io option for details?\n", +- td->o.name, td->io_ops->name); +- + td_set_runstate(td, TD_FINISHING); + + update_rusage_stat(td); diff --git a/SPECS/fio.spec b/SPECS/fio.spec index 856728c..68b8240 100644 --- a/SPECS/fio.spec +++ b/SPECS/fio.spec @@ -1,6 +1,6 @@ Name: fio Version: 3.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multithreaded IO generation tool Group: Applications/System @@ -22,6 +22,8 @@ BuildRequires: numactl-devel BuildRequires: librdmacm-devel %endif +Patch0: fio-3.13-Kill-No-I-O-performed-by-.-message.patch + %description fio is an I/O tool that will spawn a number of threads or processes doing a particular type of io action as specified by the user. fio takes a @@ -32,6 +34,7 @@ one wants to simulate. %prep %setup -q +%patch0 -p1 %build ./configure --disable-optimizations @@ -54,6 +57,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/%{name}/* %changelog +* Fri May 15 2020 Eric Sandeen 3.7-2 +- Remove Kill "No I/O performed by ..." message (#1814955) + * Mon Feb 25 2019 Eric Sandeen 3.7-1 - New upstream version - Adds libpmem ioengine (#1672362)