Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66846572bfb4ec62bcba260028cbbcbdb77bd636
Commit:     66846572bfb4ec62bcba260028cbbcbdb77bd636
Parent:     3001ca77128273cc5634d79f5306ce2e5a14ec41
Author:     NeilBrown <[EMAIL PROTECTED]>
AuthorDate: Thu Aug 16 13:31:28 2007 +0200
Committer:  Jens Axboe <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 09:25:56 2007 +0200

    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 <[EMAIL PROTECTED]>
    
    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe <[EMAIL PROTECTED]>
---
 block/ll_rw_blk.c      |   11 +++++++----
 drivers/md/dm-emc.c    |   10 +---------
 include/linux/blkdev.h |    1 -
 3 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 2de9bad..eb27b33 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -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)
 {
diff --git a/drivers/md/dm-emc.c b/drivers/md/dm-emc.c
index 265c467..71cc858 100644
--- a/drivers/md/dm-emc.c
+++ b/drivers/md/dm-emc.c
@@ -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);
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 3021a5b..492ac94 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -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
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to