summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2002-06-20 00:05:46 -0700
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-06-20 00:05:46 -0700
commit3ba0f21138b541e4c0647a3cc5e9784cda7b5c93 (patch)
tree35bc1b1b6fc43372765fd9ad80565ff7678ba1b2 /include/linux
parent1856a9518aecf4f2ec4b85708cca7bb2c60d633a (diff)
[PATCH] uninline elv_next_request()
Uninline elv_next_request() and move it to elevator.c, where it belongs. Because of CURRENT declaration, this actually saves lots of space. From Andrew.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/blk.h33
-rw-r--r--include/linux/elevator.h1
2 files changed, 1 insertions, 33 deletions
diff --git a/include/linux/blk.h b/include/linux/blk.h
index 69aa2fa94a97..7fbd3f6acae8 100644
--- a/include/linux/blk.h
+++ b/include/linux/blk.h
@@ -40,6 +40,7 @@ void initrd_init(void);
extern int end_that_request_first(struct request *, int, int);
extern void end_that_request_last(struct request *);
+struct request *elv_next_request(request_queue_t *q);
static inline void blkdev_dequeue_request(struct request *req)
{
@@ -49,38 +50,6 @@ static inline void blkdev_dequeue_request(struct request *req)
elv_remove_request(req->q, req);
}
-extern inline struct request *elv_next_request(request_queue_t *q)
-{
- struct request *rq;
-
- while ((rq = __elv_next_request(q))) {
- rq->flags |= REQ_STARTED;
-
- if (&rq->queuelist == q->last_merge)
- q->last_merge = NULL;
-
- if ((rq->flags & REQ_DONTPREP) || !q->prep_rq_fn)
- break;
-
- /*
- * all ok, break and return it
- */
- if (!q->prep_rq_fn(q, rq))
- break;
-
- /*
- * prep said no-go, kill it
- */
- blkdev_dequeue_request(rq);
- if (end_that_request_first(rq, 0, rq->nr_sectors))
- BUG();
-
- end_that_request_last(rq);
- }
-
- return rq;
-}
-
#define _elv_add_request_core(q, rq, where, plug) \
do { \
if ((plug)) \
diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index 44cbb0e8e8fe..3bd08ecdaf0b 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -40,7 +40,6 @@ struct elevator_s
*/
extern void __elv_add_request(request_queue_t *, struct request *,
struct list_head *);
-extern struct request *__elv_next_request(request_queue_t *);
extern void elv_merge_cleanup(request_queue_t *, struct request *, int);
extern int elv_merge(request_queue_t *, struct request **, struct bio *);
extern void elv_merge_requests(request_queue_t *, struct request *,