Stop exporting blk_rq_bio_prep
blk_rq_bio_prep is exported for use in exactly one place. That place can benefit from using the new blk_rq_append_bio instead. So - change dm-emc to call blk_rq_append_bio - stop exporting blk_rq_bio_prep, and - initialise rq_disk in blk_rq_bio_prep, as dm-emc needs it. Signed-off-by: Neil Brown <neilb@suse.de> diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Родитель
3001ca7712
Коммит
66846572bf
|
@ -43,6 +43,8 @@ static void init_request_from_bio(struct request *req, struct bio *bio);
|
|||
static int __make_request(struct request_queue *q, struct bio *bio);
|
||||
static struct io_context *current_io_context(gfp_t gfp_flags, int node);
|
||||
static void blk_recalc_rq_segments(struct request *rq);
|
||||
static void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
||||
struct bio *bio);
|
||||
|
||||
/*
|
||||
* For the allocated request tables
|
||||
|
@ -3665,8 +3667,8 @@ void end_request(struct request *req, int uptodate)
|
|||
|
||||
EXPORT_SYMBOL(end_request);
|
||||
|
||||
void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
||||
struct bio *bio)
|
||||
static void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
||||
struct bio *bio)
|
||||
{
|
||||
/* first two bits are identical in rq->cmd_flags and bio->bi_rw */
|
||||
rq->cmd_flags |= (bio->bi_rw & 3);
|
||||
|
@ -3680,9 +3682,10 @@ void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
|
|||
rq->data_len = bio->bi_size;
|
||||
|
||||
rq->bio = rq->biotail = bio;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(blk_rq_bio_prep);
|
||||
if (bio->bi_bdev)
|
||||
rq->rq_disk = bio->bi_bdev->bd_disk;
|
||||
}
|
||||
|
||||
int kblockd_schedule_work(struct work_struct *work)
|
||||
{
|
||||
|
|
|
@ -109,15 +109,7 @@ static struct request *get_failover_req(struct emc_handler *h,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
rq->bio = rq->biotail = bio;
|
||||
blk_rq_bio_prep(q, rq, bio);
|
||||
|
||||
rq->rq_disk = bdev->bd_contains->bd_disk;
|
||||
|
||||
/* bio backed don't set data */
|
||||
rq->buffer = rq->data = NULL;
|
||||
/* rq data_len used for pc cmd's request_bufflen */
|
||||
rq->data_len = bio->bi_size;
|
||||
blk_rq_append_bio(q, rq, bio);
|
||||
|
||||
rq->sense = h->sense;
|
||||
memset(rq->sense, 0, SCSI_SENSE_BUFFERSIZE);
|
||||
|
|
|
@ -823,7 +823,6 @@ static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt,
|
|||
return bqt->tag_index[tag];
|
||||
}
|
||||
|
||||
extern void blk_rq_bio_prep(struct request_queue *, struct request *, struct bio *);
|
||||
extern int blkdev_issue_flush(struct block_device *, sector_t *);
|
||||
|
||||
#define MAX_PHYS_SEGMENTS 128
|
||||
|
|
Загрузка…
Ссылка в новой задаче