diff --git a/.fio.metadata b/.fio.metadata index 92ca5ef..e839755 100644 --- a/.fio.metadata +++ b/.fio.metadata @@ -1 +1 @@ -e4e6d653bd851d1d4652cfe3de3008cf583025e7 SOURCES/fio-3.7.tar.bz2 +cad3b3d78c5c2c9a116ee53642eec17a77c5ead2 SOURCES/fio-3.19.tar.bz2 diff --git a/.gitignore b/.gitignore index 862008b..715dc75 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/fio-3.7.tar.bz2 +SOURCES/fio-3.19.tar.bz2 diff --git a/SOURCES/fio-eliminate-extra-log-samples.patch b/SOURCES/fio-eliminate-extra-log-samples.patch new file mode 100644 index 0000000..b9f3b99 --- /dev/null +++ b/SOURCES/fio-eliminate-extra-log-samples.patch @@ -0,0 +1,52 @@ +From 640150c1b2c3cdbdd8baa5f1f3e7214a5c9a6533 Mon Sep 17 00:00:00 2001 +From: Vincent Fu +Date: Tue, 31 Mar 2020 07:26:16 -0400 +Subject: [PATCH] stat: eliminate extra log samples + +b2a432bfbb6d inadvertently added extra log samples. + +$ ./fio-canonical/fio --name=test --time_based --runtime=10s --write_lat_log=fio-07-b2a432 --log_avg_msec=1000 --size=1G --rw=rw +test: (g=0): rw=rw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1 +fio-3.17-93-gb2a4 +Starting 1 process +... +$ cat fio-07-b2a432_clat.1.log +1000, 5851, 0, 0, 0 +1000, 2551, 1, 0, 0 +1000, 5028, 1, 0, 0 +2000, 4175, 0, 0, 0 +2000, 3214, 1, 0, 0 +2000, 60619, 0, 0, 0 +... + +There should only be two lines at each timestamp (one for reads, one for +writes), but the first two timestamps have three lines each. + +The cause is an inadvertent change in stat.c:add_log_sample() of +__add_stat_to_log to _add_stat_to_log. Reverting to the two-underscore +version resolves this issue. + +Fixes: https://github.com/axboe/fio/issues/947 +Fixes: b2a432bfbb6d ("Per-command priority: Priority logging and libaio/io_uring cmdprio_percentage") +Signed-off-by: Vincent Fu +--- + stat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/stat.c b/stat.c +index d8c01d14..efa811d2 100644 +--- a/stat.c ++++ b/stat.c +@@ -2749,7 +2749,7 @@ static unsigned long add_log_sample(struct thread_data *td, + return diff; + } + +- _add_stat_to_log(iolog, elapsed, td->o.log_max != 0, priority_bit); ++ __add_stat_to_log(iolog, ddir, elapsed, td->o.log_max != 0, priority_bit); + + iolog->avg_last[ddir] = elapsed - (this_window - iolog->avg_msec); + return iolog->avg_msec; +-- +2.17.1 + + diff --git a/SPECS/fio.spec b/SPECS/fio.spec index 8da9e0e..9d42235 100644 --- a/SPECS/fio.spec +++ b/SPECS/fio.spec @@ -1,6 +1,6 @@ Name: fio -Version: 3.7 -Release: 3%{?dist} +Version: 3.19 +Release: 1%{?dist} Summary: Multithreaded IO generation tool Group: Applications/System @@ -8,10 +8,12 @@ License: GPLv2 URL: http://git.kernel.dk/?p=fio.git;a=summary Source: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2 +Patch0: fio-eliminate-extra-log-samples.patch + BuildRequires: gcc BuildRequires: libaio-devel -BuildRequires: python3-devel BuildRequires: zlib-devel +BuildRequires: python3-devel %ifarch x86_64 BuildRequires: libpmem-devel BuildRequires: libpmemblk-devel @@ -32,13 +34,15 @@ one wants to simulate. %prep %setup -q +%patch0 -p1 pathfix.py -i %{__python3} -pn \ + doc/conf.py \ tools/fio_jsonplus_clat2csv \ tools/fiologparser.py \ tools/hist/*.py \ tools/plot/fio2gnuplot \ - unit_tests/steadystate_tests.py + t/*.py %build ./configure --disable-optimizations @@ -56,6 +60,12 @@ make install prefix=%{_prefix} mandir=%{_mandir} DESTDIR=$RPM_BUILD_ROOT INSTALL %{_datadir}/%{name}/* %changelog +* Mon Apr 20 2020 Eric Sandeen 3.19-1 +- Rebase to new upstream + bugfix + +* Fri Jun 07 2019 Eric Sandeen 3.7-5 +- Rebuild w/ tests in place (#1681954) + * Wed Aug 01 2018 Charalampos Stratakis - 3.7-3 - Fix python shebangs in a more portable way