block, cfq: move cfqd->icq_list to request_queue and add request->elv.icq
authorTejun Heo <tj@kernel.org>
Tue, 13 Dec 2011 23:33:41 +0000 (00:33 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 Dec 2011 23:33:41 +0000 (00:33 +0100)
commita612fddf0d8090f2877305c9168b6c1a34fb5d90
treeb59047a1670469362e1ea44093522224bdcf5aae
parentc58698073218f2c8f2fc5982fa3938c2d3803b9f
block, cfq: move cfqd->icq_list to request_queue and add request->elv.icq

Most of icq management is about to be moved out of cfq into blk-ioc.
This patch prepares for it.

* Move cfqd->icq_list to request_queue->icq_list

* Make request explicitly point to icq instead of through elevator
  private data.  ->elevator_private[3] is replaced with sub struct elv
  which contains icq pointer and priv[2].  cfq is updated accordingly.

* Meaningless clearing of ->elevator_private[0] removed from
  elv_set_request().  At that point in code, the field was guaranteed
  to be %NULL anyway.

This patch doesn't introduce any functional change.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/cfq-iosched.c
block/elevator.c
include/linux/blkdev.h