From: Jens Axboe Date: Tue, 19 Dec 2006 07:27:31 +0000 (+0100) Subject: [PATCH] ->nr_sectors and ->hard_nr_sectors are not used for BLOCK_PC requests X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2985259b0e3928d4cd0723ac5aad0d1190ab7717;p=openwrt%2Fstaging%2Fblogic.git [PATCH] ->nr_sectors and ->hard_nr_sectors are not used for BLOCK_PC requests It's a file system thing, for block requests the only size used in the io paths is ->data_len as it is in bytes, not sectors. Signed-off-by: Jens Axboe --- diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 79807dbc306e..71a78a7e42fd 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -2350,12 +2350,12 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq, else bio = bio_copy_user(q, uaddr, len, reading); - if (IS_ERR(bio)) { + if (IS_ERR(bio)) return PTR_ERR(bio); - } orig_bio = bio; blk_queue_bounce(q, &bio); + /* * We link the bounce buffer in and could have to traverse it * later so we have to get a ref to prevent it from being freed @@ -2379,8 +2379,6 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq, rq->biotail->bi_next = bio; rq->biotail = bio; - rq->nr_sectors += bio_sectors(bio); - rq->hard_nr_sectors = rq->nr_sectors; rq->data_len += bio->bi_size; } spin_unlock_irq(q->queue_lock); diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 1748e27501cd..41a2ea32a300 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -270,8 +270,6 @@ static int scsi_merge_bio(struct request *rq, struct bio *bio) else { rq->biotail->bi_next = bio; rq->biotail = bio; - rq->hard_nr_sectors += bio_sectors(bio); - rq->nr_sectors = rq->hard_nr_sectors; } return 0;