提交 d00e29fd 编写于 作者: K Kiyoshi Ueda 提交者: Jens Axboe

block: remove end_{queued|dequeued}_request()

This patch removes end_queued_request() and end_dequeued_request(),
which are no longer used.

As a results, users of __end_request() became only end_request().
So the actual code in __end_request() is moved to end_request()
and __end_request() is removed.
Signed-off-by: NKiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: NJun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
上级 99cd3386
...@@ -1790,17 +1790,6 @@ static void end_that_request_last(struct request *req, int error) ...@@ -1790,17 +1790,6 @@ static void end_that_request_last(struct request *req, int error)
} }
} }
static inline void __end_request(struct request *rq, int uptodate,
unsigned int nr_bytes)
{
int error = 0;
if (uptodate <= 0)
error = uptodate ? uptodate : -EIO;
__blk_end_request(rq, error, nr_bytes);
}
/** /**
* blk_rq_bytes - Returns bytes left to complete in the entire request * blk_rq_bytes - Returns bytes left to complete in the entire request
* @rq: the request being processed * @rq: the request being processed
...@@ -1830,41 +1819,6 @@ unsigned int blk_rq_cur_bytes(struct request *rq) ...@@ -1830,41 +1819,6 @@ unsigned int blk_rq_cur_bytes(struct request *rq)
} }
EXPORT_SYMBOL_GPL(blk_rq_cur_bytes); EXPORT_SYMBOL_GPL(blk_rq_cur_bytes);
/**
* end_queued_request - end all I/O on a queued request
* @rq: the request being processed
* @uptodate: error value or %0/%1 uptodate flag
*
* Description:
* Ends all I/O on a request, and removes it from the block layer queues.
* Not suitable for normal I/O completion, unless the driver still has
* the request attached to the block layer.
*
**/
void end_queued_request(struct request *rq, int uptodate)
{
__end_request(rq, uptodate, blk_rq_bytes(rq));
}
EXPORT_SYMBOL(end_queued_request);
/**
* end_dequeued_request - end all I/O on a dequeued request
* @rq: the request being processed
* @uptodate: error value or %0/%1 uptodate flag
*
* Description:
* Ends all I/O on a request. The request must already have been
* dequeued using blkdev_dequeue_request(), as is normally the case
* for most drivers.
*
**/
void end_dequeued_request(struct request *rq, int uptodate)
{
__end_request(rq, uptodate, blk_rq_bytes(rq));
}
EXPORT_SYMBOL(end_dequeued_request);
/** /**
* end_request - end I/O on the current segment of the request * end_request - end I/O on the current segment of the request
* @req: the request being processed * @req: the request being processed
...@@ -1879,14 +1833,16 @@ EXPORT_SYMBOL(end_dequeued_request); ...@@ -1879,14 +1833,16 @@ EXPORT_SYMBOL(end_dequeued_request);
* they have a residual value to account for. For that case this function * they have a residual value to account for. For that case this function
* isn't really useful, unless the residual just happens to be the * isn't really useful, unless the residual just happens to be the
* full current segment. In other words, don't use this function in new * full current segment. In other words, don't use this function in new
* code. Use blk_end_request() or __blk_end_request() to end partial parts * code. Use blk_end_request() or __blk_end_request() to end a request.
* of a request, or end_dequeued_request() and end_queued_request() to
* completely end IO on a dequeued/queued request.
*
**/ **/
void end_request(struct request *req, int uptodate) void end_request(struct request *req, int uptodate)
{ {
__end_request(req, uptodate, req->hard_cur_sectors << 9); int error = 0;
if (uptodate <= 0)
error = uptodate ? uptodate : -EIO;
__blk_end_request(req, error, req->hard_cur_sectors << 9);
} }
EXPORT_SYMBOL(end_request); EXPORT_SYMBOL(end_request);
......
...@@ -793,8 +793,6 @@ extern int __blk_end_request(struct request *rq, int error, ...@@ -793,8 +793,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 void end_queued_request(struct request *, int);
extern void end_dequeued_request(struct request *, int);
extern int blk_end_request_callback(struct request *rq, int error, extern int blk_end_request_callback(struct request *rq, int error,
unsigned int nr_bytes, unsigned int nr_bytes,
int (drv_callback)(struct request *)); int (drv_callback)(struct request *));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册