summaryrefslogtreecommitdiff
path: root/iowatcher/blkparse.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-04-04 06:18:28 -0400
committerChris Mason <clm@fb.com>2014-09-24 12:02:09 -0700
commitff045fe73d4c1f84155e15ff8b228ee65f82373c (patch)
tree6449975be35a17add18be8ddfb246887b200b4b3 /iowatcher/blkparse.c
parent22dd439a539cbbaed24daae4f23e7fe8739fdfa5 (diff)
downloadblktrace-ff045fe73d4c1f84155e15ff8b228ee65f82373c.tar.gz
blktrace-ff045fe73d4c1f84155e15ff8b228ee65f82373c.tar.bz2
iowatcher: 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>
Diffstat (limited to 'iowatcher/blkparse.c')
-rw-r--r--iowatcher/blkparse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/iowatcher/blkparse.c b/iowatcher/blkparse.c
index c9ae3e7..43eb269 100644
--- a/iowatcher/blkparse.c
+++ b/iowatcher/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;