On Wed, 9 May 2007, Jens Axboe wrote: > Lets do it after it is merged, as not to create a hold-up point for > lguest. Once it's in, I'll fix it up. Ok. Seems pointless, though, as it's only a matter of: Pekka From: Jens Axboe <jens.axboe@xxxxxxxxxx> Add a new end_entire_request() function that ends the whole request, not just the first segment. Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> --- block/ll_rw_blk.c | 11 +++++++++++ include/linux/blkdev.h | 1 + 2 files changed, 12 insertions(+) Index: 2.6/block/ll_rw_blk.c =================================================================== --- 2.6.orig/block/ll_rw_blk.c 2007-05-08 10:48:36.000000000 +0300 +++ 2.6/block/ll_rw_blk.c 2007-05-09 13:42:36.000000000 +0300 @@ -3606,6 +3606,17 @@ void end_request(struct request *req, in EXPORT_SYMBOL(end_request); +void end_entire_request(struct request *req, int uptodate) +{ + if (end_that_request_first(req, uptodate, req->hard_nr_sectors)) + BUG(); + add_disk_randomness(req->rq_disk); + blkdev_dequeue_request(req); + end_that_request_last(req, uptodate); +} + +EXPORT_SYMBOL(end_entire_request); + void blk_rq_bio_prep(request_queue_t *q, struct request *rq, struct bio *bio) { /* first two bits are identical in rq->cmd_flags and bio->bi_rw */ Index: 2.6/include/linux/blkdev.h =================================================================== --- 2.6.orig/include/linux/blkdev.h 2007-05-04 09:19:25.000000000 +0300 +++ 2.6/include/linux/blkdev.h 2007-05-09 13:43:10.000000000 +0300 @@ -712,6 +712,7 @@ extern int end_that_request_first(struct extern int end_that_request_chunk(struct request *, int, int); extern void end_that_request_last(struct request *, int); extern void end_request(struct request *req, int uptodate); +extern void end_entire_request(struct request *req, int uptodate); extern void blk_complete_request(struct request *); /* _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization