summaryrefslogtreecommitdiffstats
path: root/block/elevator.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2011-02-11 11:08:00 +0100
committerJens Axboe <jaxboe@fusionio.com>2011-02-11 11:08:00 +0100
commitc186794dbb466b45cf40f942f2d09d6d5b4b0e42 (patch)
tree07ccd819bb6cced2c19053d2ed97ebaac88f824e /block/elevator.c
parentblock: skip elevator data initialization for flush requests (diff)
downloadlinux-c186794dbb466b45cf40f942f2d09d6d5b4b0e42.tar.xz
linux-c186794dbb466b45cf40f942f2d09d6d5b4b0e42.zip
block: share request flush fields with elevator_private
Flush requests are never put on the IO scheduler. Convert request structure's elevator_private* into an array and have the flush fields share a union with it. Reclaim the space lost in 'struct request' by moving 'completion_data' back in the union with 'rb_node'. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'block/elevator.c')
-rw-r--r--block/elevator.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c
index 270e0972eb9f..f98e92edc937 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -764,7 +764,7 @@ int elv_set_request(struct request_queue *q, struct request *rq, gfp_t gfp_mask)
if (e->ops->elevator_set_req_fn)
return e->ops->elevator_set_req_fn(q, rq, gfp_mask);
- rq->elevator_private = NULL;
+ rq->elevator_private[0] = NULL;
return 0;
}