From 897c606a258e1ac7a21fd30ff3a5de59a3d097a1 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 26 Apr 2018 13:23:10 -0600 Subject: [PATCH] blktrace: ignore 0 byte writes They cause fio to exit replay, but then retry since we didn't meet our IO limit. When we retry, we attempt to close files that the trace already closed, and we crash. Signed-off-by: Jens Axboe --- blktrace.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/blktrace.c b/blktrace.c index 1d5403a5..721bcd4b 100644 --- a/blktrace.c +++ b/blktrace.c @@ -310,7 +310,13 @@ static void handle_trace_fs(struct thread_data *td, struct blk_io_trace *t, rw = (t->action & BLK_TC_ACT(BLK_TC_WRITE)) != 0; - if (t->bytes > rw_bs[rw]) + /* + * Need to figure out why 0 byte writes end up here sometimes, for + * now just ignore them. + */ + if (!t->bytes) + return; + else if (t->bytes > rw_bs[rw]) rw_bs[rw] = t->bytes; ios[rw]++; -- 2.25.1