[PATCH] Keep the bio end_io parts inside of bio.c for blk_rq_map_kern()
Signed-off-by: Jens Axboe <axboe@suse.de>
This commit is contained in:
@@ -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,
|
|||||||
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);
|
||||||
|
11
fs/bio.c
11
fs/bio.c
@@ -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,
|
|||||||
offset = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bio->bi_end_io = bio_map_kern_endio;
|
||||||
return bio;
|
return bio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user