[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 <jens.axboe@oracle.com>
This commit is contained in:
parent
a52de245ef
commit
2985259b0e
@ -2350,12 +2350,12 @@ static int __blk_rq_map_user(request_queue_t *q, struct request *rq,
|
|||||||
else
|
else
|
||||||
bio = bio_copy_user(q, uaddr, len, reading);
|
bio = bio_copy_user(q, uaddr, len, reading);
|
||||||
|
|
||||||
if (IS_ERR(bio)) {
|
if (IS_ERR(bio))
|
||||||
return PTR_ERR(bio);
|
return PTR_ERR(bio);
|
||||||
}
|
|
||||||
|
|
||||||
orig_bio = bio;
|
orig_bio = bio;
|
||||||
blk_queue_bounce(q, &bio);
|
blk_queue_bounce(q, &bio);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We link the bounce buffer in and could have to traverse it
|
* 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
|
* 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->bi_next = bio;
|
||||||
rq->biotail = bio;
|
rq->biotail = bio;
|
||||||
|
|
||||||
rq->nr_sectors += bio_sectors(bio);
|
|
||||||
rq->hard_nr_sectors = rq->nr_sectors;
|
|
||||||
rq->data_len += bio->bi_size;
|
rq->data_len += bio->bi_size;
|
||||||
}
|
}
|
||||||
spin_unlock_irq(q->queue_lock);
|
spin_unlock_irq(q->queue_lock);
|
||||||
|
@ -270,8 +270,6 @@ static int scsi_merge_bio(struct request *rq, struct bio *bio)
|
|||||||
else {
|
else {
|
||||||
rq->biotail->bi_next = bio;
|
rq->biotail->bi_next = bio;
|
||||||
rq->biotail = bio;
|
rq->biotail = bio;
|
||||||
rq->hard_nr_sectors += bio_sectors(bio);
|
|
||||||
rq->nr_sectors = rq->hard_nr_sectors;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user