diff options
author | Jan Kara <jack@suse.cz> | 2013-04-04 06:18:28 -0400 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-09-24 12:02:09 -0700 |
commit | ff045fe73d4c1f84155e15ff8b228ee65f82373c (patch) | |
tree | 6449975be35a17add18be8ddfb246887b200b4b3 | |
parent | 22dd439a539cbbaed24daae4f23e7fe8739fdfa5 (diff) | |
download | blktrace-ff045fe73d4c1f84155e15ff8b228ee65f82373c.tar.gz |
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>
-rw-r--r-- | iowatcher/blkparse.c | 5 |
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; |