diff options
author | Mike Snitzer <snitzer@redhat.com> | 2011-02-11 11:08:00 +0100 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-02-11 11:08:00 +0100 |
commit | c186794dbb466b45cf40f942f2d09d6d5b4b0e42 (patch) | |
tree | 07ccd819bb6cced2c19053d2ed97ebaac88f824e /block/elevator.c | |
parent | block: skip elevator data initialization for flush requests (diff) | |
download | linux-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.c | 2 |
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; } |