aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-04-04 06:18:28 -0400
committerChris Mason <chris.mason@fusionio.com>2013-09-24 15:30:52 -0400
commit283ee99d31561ccd16ec20841eaa0417bf739bac (patch)
treeecf7ec45d9a077e13a6871121daf5f9528f0c95f
parent88b1183e94d4ab9d9037a85a1bebe57b6daf4b83 (diff)
downloadiowatcher-283ee99d31561ccd16ec20841eaa0417bf739bac.tar.gz
Handle REQUEUE events
When requeue event happens we have to decrease number of in-flight requests. Otherwise they drift away. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r--blkparse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/blkparse.c b/blkparse.c
index c9ae3e7..43eb269 100644
--- a/blkparse.c
+++ b/blkparse.c
@@ -1052,6 +1052,11 @@ void add_pending_io(struct trace *trace, struct graph_line_data *gld)
hash_queued_io(trace->io);
return;
}
+ if (action == __BLK_TA_REQUEUE) {
+ if (ios_in_flight > 0)
+ ios_in_flight--;
+ return;
+ }
if (action != __BLK_TA_ISSUE)
return;