blk_end_request: add bidi completion interface (take 4)
authorKiyoshi Ueda <k-ueda@ct.jp.nec.com>
Tue, 11 Dec 2007 22:51:46 +0000 (17:51 -0500)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 28 Jan 2008 09:37:08 +0000 (10:37 +0100)
commite3a04fe34a3ec81ddeddb6c73fb7299716cffbb0
tree080d1ec1cc3d78b3aef4e95f5334f5b4c3da3498
parentaaa04c28cb9a1efd42541fdb7ab648231c2a2263
blk_end_request: add bidi completion interface (take 4)

This patch adds a variant of the interface, blk_end_bidi_request(),
which completes a bidi request.

Bidi request must be completed as a whole, both rq and rq->next_rq
at once.  So the interface has 2 arguments for completion size.

As for ->end_io, only rq->end_io is called (rq->next_rq->end_io is not
called).  So if special completion handling is needed, the handler
must be set to rq->end_io.
And the handler must take care of freeing next_rq too, since
the interface doesn't care of it if rq->end_io is not NULL.

Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/ll_rw_blk.c
include/linux/blkdev.h