aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2006-01-09 09:30:20 -0500
committerJens Axboe <axboe@suse.de>2006-01-09 09:30:20 -0500
commit356cebea1123804e4aa85b43ab39bbd0ac8e667c (patch)
treeaac7a1421808628fcc12340ce3ad4514c681b297
parent5a57be8d100c67a033ec78f00d5a0cd387da72e9 (diff)
[BLOCK] Kill blk_attempt_remerge()
It's a broken interface, it's done way too late. And apparently it triggers slab problems in recent kernels as well (most likely after the generic dispatch code was merged). So kill it, ide-cd is the only user of it. Signed-off-by: Jens Axboe <axboe@suse.de>
-rw-r--r--block/ll_rw_blk.c24
-rw-r--r--drivers/ide/ide-cd.c10
-rw-r--r--include/linux/blkdev.h1
3 files changed, 0 insertions, 35 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index c182c9f4b2c4..c44d6fe9f6ce 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -2734,30 +2734,6 @@ static inline int attempt_front_merge(request_queue_t *q, struct request *rq)
2734 return 0; 2734 return 0;
2735} 2735}
2736 2736
2737/**
2738 * blk_attempt_remerge - attempt to remerge active head with next request
2739 * @q: The &request_queue_t belonging to the device
2740 * @rq: The head request (usually)
2741 *
2742 * Description:
2743 * For head-active devices, the queue can easily be unplugged so quickly
2744 * that proper merging is not done on the front request. This may hurt
2745 * performance greatly for some devices. The block layer cannot safely
2746 * do merging on that first request for these queues, but the driver can
2747 * call this function and make it happen any way. Only the driver knows
2748 * when it is safe to do so.
2749 **/
2750void blk_attempt_remerge(request_queue_t *q, struct request *rq)
2751{
2752 unsigned long flags;
2753
2754 spin_lock_irqsave(q->queue_lock, flags);
2755 attempt_back_merge(q, rq);
2756 spin_unlock_irqrestore(q->queue_lock, flags);
2757}
2758
2759EXPORT_SYMBOL(blk_attempt_remerge);
2760
2761static void init_request_from_bio(struct request *req, struct bio *bio) 2737static void init_request_from_bio(struct request *req, struct bio *bio)
2762{ 2738{
2763 req->flags |= REQ_CMD; 2739 req->flags |= REQ_CMD;
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index d31117eb95aa..e4d55ad32d2f 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1332,8 +1332,6 @@ static ide_startstop_t cdrom_start_read (ide_drive_t *drive, unsigned int block)
1332 if (cdrom_read_from_buffer(drive)) 1332 if (cdrom_read_from_buffer(drive))
1333 return ide_stopped; 1333 return ide_stopped;
1334 1334
1335 blk_attempt_remerge(drive->queue, rq);
1336
1337 /* Clear the local sector buffer. */ 1335 /* Clear the local sector buffer. */
1338 info->nsectors_buffered = 0; 1336 info->nsectors_buffered = 0;
1339 1337
@@ -1874,14 +1872,6 @@ static ide_startstop_t cdrom_start_write(ide_drive_t *drive, struct request *rq)
1874 return ide_stopped; 1872 return ide_stopped;
1875 } 1873 }
1876 1874
1877 /*
1878 * for dvd-ram and such media, it's a really big deal to get
1879 * big writes all the time. so scour the queue and attempt to
1880 * remerge requests, often the plugging will not have had time
1881 * to do this properly
1882 */
1883 blk_attempt_remerge(drive->queue, rq);
1884
1885 info->nsectors_buffered = 0; 1875 info->nsectors_buffered = 0;
1886 1876
1887 /* use dma, if possible. we don't need to check more, since we 1877 /* use dma, if possible. we don't need to check more, since we
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index fb0985377421..96b233991685 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -592,7 +592,6 @@ extern void generic_make_request(struct bio *bio);
592extern void blk_put_request(struct request *); 592extern void blk_put_request(struct request *);
593extern void __blk_put_request(request_queue_t *, struct request *); 593extern void __blk_put_request(request_queue_t *, struct request *);
594extern void blk_end_sync_rq(struct request *rq, int error); 594extern void blk_end_sync_rq(struct request *rq, int error);
595extern void blk_attempt_remerge(request_queue_t *, struct request *);
596extern struct request *blk_get_request(request_queue_t *, int, gfp_t); 595extern struct request *blk_get_request(request_queue_t *, int, gfp_t);
597extern void blk_insert_request(request_queue_t *, struct request *, int, void *); 596extern void blk_insert_request(request_queue_t *, struct request *, int, void *);
598extern void blk_requeue_request(request_queue_t *, struct request *); 597extern void blk_requeue_request(request_queue_t *, struct request *);