Skip to content

Commit

Permalink
Stop exporting blk_rq_bio_prep
Browse files Browse the repository at this point in the history
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 <[email protected]>

diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
neilbrown authored and Jens Axboe committed Oct 10, 2007
1 parent 3001ca7 commit 6684657
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 14 deletions.
11 changes: 7 additions & 4 deletions block/ll_rw_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand All @@ -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)
{
Expand Down
10 changes: 1 addition & 9 deletions drivers/md/dm-emc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion include/linux/blkdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 6684657

Please sign in to comment.