Recent changes (master)
The following changes since commit cc16261082a4d0f027cef9d019ad023129bf6012:
Merge branch 'testing' of https://github.com/vincentkfu/fio (2019-11-06 17:04:17 -0700)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to b048455fef67dad4ef96ce0393937322e3165b58:
t/run-fio-tests: improve error handling (2019-11-14 14:07:25 -0700)
----------------------------------------------------------------
Vincent Fu (3):
filesetup: improve LFSR init failure error message
io_u: move to next zone even if zoneskip is unset t/run-fio-tests: improve error handling
filesetup.c | 3 +++ io_u.c | 3 +-- t/run-fio-tests.py | 10 ++++++---- t/strided.py | 3 +-- 4 files changed, 11 insertions(+), 8 deletions(-)
---
Diff of recent changes:
filesetup.c +3 -0
@@ -1354,6 +1354,9 @@ bool init_random_map(struct thread_data *td)if (!lfsr_init (&f->lfsr, blocks, seed,0 )) {fio_file_set_lfsr (f);continue ; + }else { +log_err ("fio: failed initializing LFSR\n" ); +return false; } }else if (!td->o.norandommap) { f->io_axmap =axmap_new (blocks);
io_u.c +1 -2
@@ -850,8 +850,7 @@ static void setup_strided_zone_mode(struct thread_data *td, struct io_u *io_u)/* * See if it's time to switch to a new zone */ -if (td->zone_bytes >= td->o.zone_size && -fio_option_is_set (&td->o, zone_skip)) { +if (td->zone_bytes >= td->o.zone_size) { td->zone_bytes =0 ; f->file_offset += td->o.zone_range + td->o.zone_skip;
t/run-fio-tests.py +6 -4
@@ -14,7 +14,7 @@ # # # EXAMPLE -# # git clone [fio-repository] +# # git clone git://git.kernel.dk/fio.git # # cd fio # # make -j # # python3 t/run-fio-tests.py
@@ -123,6 +123,7 @@ class FioExeTest(FioTest): stderr_file = open(self.stderr_file, "w+") exticode_file = open(self.exticode_file, "w+") try: + proc = None # Avoid using subprocess.run() here because when a timeout occurs, # fio will be stopped with SIGKILL. This does not give fio a # chance to clean up and means that child processes may continue
@@ -142,9 +143,10 @@ class FioExeTest(FioTest): assert proc.poll() self.output['failure'] = 'timeout' except Exception: - if not proc.poll(): - proc.terminate() - proc.communicate() + if proc: + if not proc.poll(): + proc.terminate() + proc.communicate() self.output['failure'] = 'exception' self.output['exc_info'] = sys.exc_info() finally:
t/strided.py +1 -2
@@ -22,7 +22,7 @@ # # ===TEST MATRIX=== # -# --zonemode=strided, zoneskip >= 0 +# --zonemode=strided, zoneskip unset # w/ randommap and LFSR # zonesize=zonerange all blocks in zonerange touched # zonesize>zonerange all blocks touched and roll-over back into zone
@@ -57,7 +57,6 @@ def run_fio(fio, test, index): "--log_offset=1", "--randrepeat=0", "--rw=randread", - "--zoneskip=0", "--write_iops_log={0}{1:03d}".format(filename, index), "--output={0}{1:03d}.out".format(filename, index), "--zonerange={zonerange}".format(**test),