On 2/8/19 6:34 PM, Jens Axboe wrote:
For an ITER_BVEC, we can just iterate the iov and add the pages
to the bio directly. This requires that the caller doesn't releases
the pages on IO completion, we add a BIO_NO_PAGE_REF flag for that.

The current two callers of bio_iov_iter_get_pages() are updated to
check if they need to release pages on completion. This makes them
work with bvecs that contain kernel mapped pages already.

Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
---
  block/bio.c               | 59 ++++++++++++++++++++++++++++++++-------
  fs/block_dev.c            |  5 ++--
  fs/iomap.c                |  5 ++--
  include/linux/blk_types.h |  1 +
  4 files changed, 56 insertions(+), 14 deletions(-)

Reviewed-by: Hannes Reinecke <[email protected]>

Cheers,

Hannes


Reply via email to