• Jens Axboe's avatar
    block: implement bio helper to add iter bvec pages to bio · 6d0c48ae
    Jens Axboe authored
    For an ITER_BVEC, we can just iterate the iov and add the pages
    to the bio directly. For now, we grab a reference to those pages,
    and release them normally on IO completion. This isn't really needed
    for the normal case of O_DIRECT from/to a file, but some of the more
    esoteric use cases (like splice(2)) will unconditionally put the
    pipe buffer pages when the buffers are released. Until we can manage
    that case properly, ITER_BVEC pages are treated like normal pages
    in terms of reference counting.
    Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    6d0c48ae
bio.c 54.4 KB