block: update bio according to DMA alignment padding
authorTejun Heo <htejun@gmail.com>
Tue, 19 Feb 2008 10:35:38 +0000 (11:35 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 19 Feb 2008 10:35:38 +0000 (11:35 +0100)
commit40b01b9bbdf51ae543a04744283bf2d56c4a6afa
tree0f81015c01834b97fdb5646a63c3fe1a24936d81
parent56c819df77f96c3fc0c2a979e12b478403728790
block: update bio according to DMA alignment padding

DMA start address and transfer size alignment for PC requests are
achieved using bio_copy_user() instead of bio_map_user().  This works
because bio_copy_user() always uses full pages and block DMA alignment
isn't allowed to go over PAGE_SIZE.

However, the implementation didn't update the last bio of the request
to make this padding visible to lower layers.  This patch makes
blk_rq_map_user() extend the last bio such that it includes the
padding area and the size of area pointed to by the request is
properly aligned.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/blk-map.c