• Tejun Heo's avatar
    block: update bio according to DMA alignment padding · 40b01b9b
    Tejun Heo authored
    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: default avatarTejun Heo <htejun@gmail.com>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    40b01b9b
blk-map.c 7.05 KB