Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
block: fix issue with calling blk_stop_queue() from the request_fn handler
block: fix bug with inserting flush requests as sort/merge

+5 -2
+5 -2
block/blk-core.c
··· 271 271 **/ 272 272 void blk_stop_queue(struct request_queue *q) 273 273 { 274 - cancel_delayed_work(&q->delay_work); 274 + __cancel_delayed_work(&q->delay_work); 275 275 queue_flag_set(QUEUE_FLAG_STOPPED, q); 276 276 } 277 277 EXPORT_SYMBOL(blk_stop_queue); ··· 2702 2702 /* 2703 2703 * rq is already accounted, so use raw insert 2704 2704 */ 2705 - __elv_add_request(q, rq, ELEVATOR_INSERT_SORT_MERGE); 2705 + if (rq->cmd_flags & (REQ_FLUSH | REQ_FUA)) 2706 + __elv_add_request(q, rq, ELEVATOR_INSERT_FLUSH); 2707 + else 2708 + __elv_add_request(q, rq, ELEVATOR_INSERT_SORT_MERGE); 2706 2709 } 2707 2710 2708 2711 if (q) {