diff options
author | Jens Axboe <axboe@suse.de> | 2005-06-20 14:05:27 +0200 |
---|---|---|
committer | Jens Axboe <axboe@suse.de> | 2005-06-20 14:05:27 +0200 |
commit | b823825e8e09aac6dc1ca362cd5639a87329d636 (patch) | |
tree | f825aa09e088c160d50f2b9e878a287ebf2cb304 /fs/bio.c | |
parent | df46b9a44ceb5af2ea2351ce8e28ae7bd840b00f (diff) | |
download | linux-stable-b823825e8e09aac6dc1ca362cd5639a87329d636.tar.gz linux-stable-b823825e8e09aac6dc1ca362cd5639a87329d636.tar.bz2 linux-stable-b823825e8e09aac6dc1ca362cd5639a87329d636.zip |
[PATCH] Keep the bio end_io parts inside of bio.c for blk_rq_map_kern()
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'fs/bio.c')
-rw-r--r-- | fs/bio.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -701,6 +701,16 @@ void bio_unmap_user(struct bio *bio) bio_put(bio); } +static int bio_map_kern_endio(struct bio *bio, unsigned int bytes_done, int err) +{ + if (bio->bi_size) + return 1; + + bio_put(bio); + return 0; +} + + static struct bio *__bio_map_kern(request_queue_t *q, void *data, unsigned int len, unsigned int gfp_mask) { @@ -734,6 +744,7 @@ static struct bio *__bio_map_kern(request_queue_t *q, void *data, offset = 0; } + bio->bi_end_io = bio_map_kern_endio; return bio; } |