Commit 0b302d5a authored by Tejun Heo's avatar Tejun Heo Committed by Jens Axboe

block: kill blk_end_request_callback()

With recent IDE updates, blk_end_request_callback() doesn't have any
user now.  Kill it.

[ Impact: removal of unused convoluted interface ]
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 158dbda0
...@@ -1971,10 +1971,6 @@ static void end_that_request_last(struct request *req, int error) ...@@ -1971,10 +1971,6 @@ static void end_that_request_last(struct request *req, int error)
* @error: %0 for success, < %0 for error * @error: %0 for success, < %0 for error
* @nr_bytes: number of bytes to complete @rq * @nr_bytes: number of bytes to complete @rq
* @bidi_bytes: number of bytes to complete @rq->next_rq * @bidi_bytes: number of bytes to complete @rq->next_rq
* @drv_callback: function called between completion of bios in the request
* and completion of the request.
* If the callback returns non %0, this helper returns without
* completion of the request.
* *
* Description: * Description:
* Ends I/O on a number of bytes attached to @rq and @rq->next_rq. * Ends I/O on a number of bytes attached to @rq and @rq->next_rq.
...@@ -1985,8 +1981,7 @@ static void end_that_request_last(struct request *req, int error) ...@@ -1985,8 +1981,7 @@ static void end_that_request_last(struct request *req, int error)
* %1 - this request is not freed yet, it still has pending buffers. * %1 - this request is not freed yet, it still has pending buffers.
**/ **/
static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes, static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
unsigned int bidi_bytes, unsigned int bidi_bytes)
int (drv_callback)(struct request *))
{ {
struct request_queue *q = rq->q; struct request_queue *q = rq->q;
unsigned long flags = 0UL; unsigned long flags = 0UL;
...@@ -1994,10 +1989,6 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes, ...@@ -1994,10 +1989,6 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
if (end_that_request_data(rq, error, nr_bytes, bidi_bytes)) if (end_that_request_data(rq, error, nr_bytes, bidi_bytes))
return 1; return 1;
/* Special feature for tricky drivers */
if (drv_callback && drv_callback(rq))
return 1;
add_disk_randomness(rq->rq_disk); add_disk_randomness(rq->rq_disk);
spin_lock_irqsave(q->queue_lock, flags); spin_lock_irqsave(q->queue_lock, flags);
...@@ -2023,7 +2014,7 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes, ...@@ -2023,7 +2014,7 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
**/ **/
int blk_end_request(struct request *rq, int error, unsigned int nr_bytes) int blk_end_request(struct request *rq, int error, unsigned int nr_bytes)
{ {
return blk_end_io(rq, error, nr_bytes, 0, NULL); return blk_end_io(rq, error, nr_bytes, 0);
} }
EXPORT_SYMBOL_GPL(blk_end_request); EXPORT_SYMBOL_GPL(blk_end_request);
...@@ -2070,7 +2061,7 @@ EXPORT_SYMBOL_GPL(__blk_end_request); ...@@ -2070,7 +2061,7 @@ EXPORT_SYMBOL_GPL(__blk_end_request);
int blk_end_bidi_request(struct request *rq, int error, unsigned int nr_bytes, int blk_end_bidi_request(struct request *rq, int error, unsigned int nr_bytes,
unsigned int bidi_bytes) unsigned int bidi_bytes)
{ {
return blk_end_io(rq, error, nr_bytes, bidi_bytes, NULL); return blk_end_io(rq, error, nr_bytes, bidi_bytes);
} }
EXPORT_SYMBOL_GPL(blk_end_bidi_request); EXPORT_SYMBOL_GPL(blk_end_bidi_request);
...@@ -2131,39 +2122,6 @@ void blk_update_request(struct request *rq, int error, unsigned int nr_bytes) ...@@ -2131,39 +2122,6 @@ void blk_update_request(struct request *rq, int error, unsigned int nr_bytes)
} }
EXPORT_SYMBOL_GPL(blk_update_request); EXPORT_SYMBOL_GPL(blk_update_request);
/**
* blk_end_request_callback - Special helper function for tricky drivers
* @rq: the request being processed
* @error: %0 for success, < %0 for error
* @nr_bytes: number of bytes to complete
* @drv_callback: function called between completion of bios in the request
* and completion of the request.
* If the callback returns non %0, this helper returns without
* completion of the request.
*
* Description:
* Ends I/O on a number of bytes attached to @rq.
* If @rq has leftover, sets it up for the next range of segments.
*
* This special helper function is used only for existing tricky drivers.
* (e.g. cdrom_newpc_intr() of ide-cd)
* This interface will be removed when such drivers are rewritten.
* Don't use this interface in other places anymore.
*
* Return:
* %0 - we are done with this request
* %1 - this request is not freed yet.
* this request still has pending buffers or
* the driver doesn't want to finish this request yet.
**/
int blk_end_request_callback(struct request *rq, int error,
unsigned int nr_bytes,
int (drv_callback)(struct request *))
{
return blk_end_io(rq, error, nr_bytes, 0, drv_callback);
}
EXPORT_SYMBOL_GPL(blk_end_request_callback);
void blk_rq_bio_prep(struct request_queue *q, struct request *rq, void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
struct bio *bio) struct bio *bio)
{ {
......
...@@ -855,9 +855,6 @@ extern int __blk_end_request(struct request *rq, int error, ...@@ -855,9 +855,6 @@ extern int __blk_end_request(struct request *rq, int error,
extern int blk_end_bidi_request(struct request *rq, int error, extern int blk_end_bidi_request(struct request *rq, int error,
unsigned int nr_bytes, unsigned int bidi_bytes); unsigned int nr_bytes, unsigned int bidi_bytes);
extern void end_request(struct request *, int); extern void end_request(struct request *, int);
extern int blk_end_request_callback(struct request *rq, int error,
unsigned int nr_bytes,
int (drv_callback)(struct request *));
extern void blk_complete_request(struct request *); extern void blk_complete_request(struct request *);
extern void __blk_complete_request(struct request *); extern void __blk_complete_request(struct request *);
extern void blk_abort_request(struct request *); extern void blk_abort_request(struct request *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment