aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c2
-rw-r--r--block/cfq-iosched.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index c4198f083e5b..25572802dac2 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1128,6 +1128,8 @@ void init_request_from_bio(struct request *req, struct bio *bio)
1128 req->cmd_flags |= REQ_UNPLUG; 1128 req->cmd_flags |= REQ_UNPLUG;
1129 if (bio_rw_meta(bio)) 1129 if (bio_rw_meta(bio))
1130 req->cmd_flags |= REQ_RW_META; 1130 req->cmd_flags |= REQ_RW_META;
1131 if (bio_noidle(bio))
1132 req->cmd_flags |= REQ_NOIDLE;
1131 1133
1132 req->errors = 0; 1134 req->errors = 0;
1133 req->hard_sector = req->sector = bio->bi_sector; 1135 req->hard_sector = req->sector = bio->bi_sector;
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 664ebfd092ec..9e809345f71a 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1992,8 +1992,10 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq)
1992 } 1992 }
1993 if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) 1993 if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq))
1994 cfq_slice_expired(cfqd, 1); 1994 cfq_slice_expired(cfqd, 1);
1995 else if (sync && RB_EMPTY_ROOT(&cfqq->sort_list)) 1995 else if (sync && !rq_noidle(rq) &&
1996 RB_EMPTY_ROOT(&cfqq->sort_list)) {
1996 cfq_arm_slice_timer(cfqd); 1997 cfq_arm_slice_timer(cfqd);
1998 }
1997 } 1999 }
1998 2000
1999 if (!cfqd->rq_in_driver) 2001 if (!cfqd->rq_in_driver)