summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2004-04-26 18:27:53 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-04-26 18:27:53 -0700
commita7716627dd19f0ea48f8ed785baadbb2e956a515 (patch)
treefcfb1cab653a00d0db1a7ff2c2864d929d17f30f /include/linux
parent2f04ba946810e409f29a8d3a6b0d5ff7a26491f6 (diff)
[PATCH] fix SG_IO page leak
We cannot always rely on ->biotail remaining untouched. Currently we leak all the pinned user pages when doing cdda ripping at least, so I see no way around keeping the bio pointer seperate and passing it back in for unmap. Alternatively, we could invent a struct blk_map_data and put it on the stack for passing to both map and unmap.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/blkdev.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 150aa866348b..0fa0011d0a8f 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -522,7 +522,7 @@ extern void __blk_stop_queue(request_queue_t *q);
extern void blk_run_queue(request_queue_t *);
extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *);
extern struct request *blk_rq_map_user(request_queue_t *, int, void __user *, unsigned int);
-extern int blk_rq_unmap_user(struct request *, void __user *, unsigned int);
+extern int blk_rq_unmap_user(struct request *, void __user *, struct bio *, unsigned int);
extern int blk_execute_rq(request_queue_t *, struct gendisk *, struct request *);
static inline request_queue_t *bdev_get_queue(struct block_device *bdev)