Re: add more bio helper

Kent Overstreet
2025-04-22T14:47:14Z

On Tue, Apr 22, 2025 at 04:26:01PM +0200, Christoph Hellwig wrote:
> Hi all,
>
> this series adds more block layer helpers to remove boilerplate code when
> adding memory to a bio or to even do the entire synchronous I/O.
>
> The main aim is to avoid having to convert to a struct page in the caller
> when adding kernel direct mapping or vmalloc memory.

have you seen (bch,bch2)_bio_map?

it's a nicer interface than your bio_add_vmalloc(), and also handles the
if (is_vmalloc_addr())

bio_vmalloc_max_vecs() is good, though

>
> Diffstat:
> block/bio.c | 57 ++++++++++++++++++++++
> block/blk-map.c | 108 ++++++++++++++++--------------------------
> drivers/block/pktcdvd.c | 2
> drivers/block/rnbd/rnbd-srv.c | 7 --
> drivers/block/ublk_drv.c | 3 -
> drivers/block/virtio_blk.c | 4 -
> drivers/md/bcache/super.c | 3 -
> drivers/md/dm-bufio.c | 2
> drivers/md/dm-integrity.c | 16 ++----
> drivers/nvme/host/core.c | 2
> drivers/scsi/scsi_ioctl.c | 2
> drivers/scsi/scsi_lib.c | 3 -
> fs/btrfs/scrub.c | 10 ---
> fs/gfs2/ops_fstype.c | 24 +++------
> fs/hfsplus/wrapper.c | 46 +++--------------
> fs/xfs/xfs_bio_io.c | 30 ++++-------
> fs/xfs/xfs_buf.c | 27 +++-------
> fs/zonefs/super.c | 34 ++++---------
> include/linux/bio.h | 39 ++++++++++++++-
> include/linux/blk-mq.h | 4 -
> kernel/power/swap.c | 103 +++++++++++++++++-----------------------
> 21 files changed, 253 insertions(+), 273 deletions(-)