• Ming Lei's avatar
    block: enable multi-page bvec for passthrough IO · 489fbbcb
    Ming Lei authored
    Now block IO stack is basically ready for supporting multi-page bvec,
    however it isn't enabled on passthrough IO.
    
    One reason is that passthrough IO is dispatched to LLD directly and bio
    split is bypassed, so the bio has to be built correctly for dispatch to
    LLD from the beginning.
    
    Implement multi-page support for passthrough IO by limitting each bvec
    as block device's segment and applying all kinds of queue limit in
    blk_add_pc_page(). Then we don't need to calculate segments any more for
    passthrough IO any more, turns out code is simplified much.
    
    Cc: Omar Sandoval <osandov@fb.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    489fbbcb
bio.c 55.2 KB