Commit b823825e authored by Jens Axboe's avatar Jens Axboe

[PATCH] Keep the bio end_io parts inside of bio.c for blk_rq_map_kern()

Signed-off-by: default avatarJens Axboe <axboe@suse.de>
parent df46b9a4
...@@ -2177,16 +2177,6 @@ int blk_rq_unmap_user(struct request *rq, struct bio *bio, unsigned int ulen) ...@@ -2177,16 +2177,6 @@ int blk_rq_unmap_user(struct request *rq, struct bio *bio, unsigned int ulen)
EXPORT_SYMBOL(blk_rq_unmap_user); EXPORT_SYMBOL(blk_rq_unmap_user);
static int blk_rq_map_kern_endio(struct bio *bio, unsigned int bytes_done,
int error)
{
if (bio->bi_size)
return 1;
bio_put(bio);
return 0;
}
/** /**
* blk_rq_map_kern - map kernel data to a request, for REQ_BLOCK_PC usage * blk_rq_map_kern - map kernel data to a request, for REQ_BLOCK_PC usage
* @q: request queue where request should be inserted * @q: request queue where request should be inserted
...@@ -2213,7 +2203,6 @@ struct request *blk_rq_map_kern(request_queue_t *q, int rw, void *kbuf, ...@@ -2213,7 +2203,6 @@ struct request *blk_rq_map_kern(request_queue_t *q, int rw, void *kbuf,
if (!IS_ERR(bio)) { if (!IS_ERR(bio)) {
if (rw) if (rw)
bio->bi_rw |= (1 << BIO_RW); bio->bi_rw |= (1 << BIO_RW);
bio->bi_end_io = blk_rq_map_kern_endio;
rq->bio = rq->biotail = bio; rq->bio = rq->biotail = bio;
blk_rq_bio_prep(q, rq, bio); blk_rq_bio_prep(q, rq, bio);
......
...@@ -701,6 +701,16 @@ void bio_unmap_user(struct bio *bio) ...@@ -701,6 +701,16 @@ void bio_unmap_user(struct bio *bio)
bio_put(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, static struct bio *__bio_map_kern(request_queue_t *q, void *data,
unsigned int len, unsigned int gfp_mask) unsigned int len, unsigned int gfp_mask)
{ {
...@@ -734,6 +744,7 @@ static struct bio *__bio_map_kern(request_queue_t *q, void *data, ...@@ -734,6 +744,7 @@ static struct bio *__bio_map_kern(request_queue_t *q, void *data,
offset = 0; offset = 0;
} }
bio->bi_end_io = bio_map_kern_endio;
return bio; return bio;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment