summaryrefslogtreecommitdiffstats
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2006-05-26 22:06:58 +0200
committerJohn W. Linville <linville@tuxdriver.com>2006-05-26 22:06:58 +0200
commitf587fb74b26a10354f1eb73e8d054cd15e5a2fe2 (patch)
treea453a270fc86ada85d808487c911387739ce2296 /block/ll_rw_blk.c
parent[PATCH] hostap: new pcmcia IDs (diff)
parent[PATCH] s390: fix typo in stop_hz_timer. (diff)
downloadlinux-f587fb74b26a10354f1eb73e8d054cd15e5a2fe2.tar.xz
linux-f587fb74b26a10354f1eb73e8d054cd15e5a2fe2.zip
Merge branch 'from-linus' into upstream
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r--block/ll_rw_blk.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index eac48bec1479..7eb36c53f4b7 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -3452,7 +3452,12 @@ void end_that_request_last(struct request *req, int uptodate)
if (unlikely(laptop_mode) && blk_fs_request(req))
laptop_io_completion();
- if (disk && blk_fs_request(req)) {
+ /*
+ * Account IO completion. bar_rq isn't accounted as a normal
+ * IO on queueing nor completion. Accounting the containing
+ * request is enough.
+ */
+ if (disk && blk_fs_request(req) && req != &req->q->bar_rq) {
unsigned long duration = jiffies - req->start_time;
const int rw = rq_data_dir(req);