diff options
author | Jan Kara <jack@suse.cz> | 2013-04-04 06:18:28 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-09-24 15:30:52 -0400 |
commit | 283ee99d31561ccd16ec20841eaa0417bf739bac (patch) | |
tree | ecf7ec45d9a077e13a6871121daf5f9528f0c95f | |
parent | 88b1183e94d4ab9d9037a85a1bebe57b6daf4b83 (diff) | |
download | iowatcher-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.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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; |