From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org,
"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
Jack Wang <jinpu.wang@ionos.com>, Coly Li <colyli@kernel.org>,
Kent Overstreet <kent.overstreet@linux.dev>,
Mike Snitzer <snitzer@kernel.org>,
Mikulas Patocka <mpatocka@redhat.com>, Chris Mason <clm@fb.com>,
Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>,
Andreas Gruenbacher <agruenba@redhat.com>,
Carlos Maiolino <cem@kernel.org>,
Damien Le Moal <dlemoal@kernel.org>,
Naohiro Aota <naohiro.aota@wdc.com>,
Johannes Thumshirn <jth@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Pavel Machek <pavel@kernel.org>,
slava@dubeyko.com, glaubitz@physik.fu-berlin.de,
frank.li@vivo.com, linux-bcache@vger.kernel.org,
dm-devel@lists.linux.dev, linux-btrfs@vger.kernel.org,
gfs2@lists.linux.dev, linux-fsdevel@vger.kernel.org,
linux-xfs@vger.kernel.org, linux-pm@vger.kernel.org
Subject: add more bio helpers v3
Date: Wed, 7 May 2025 14:04:24 +0200 [thread overview]
Message-ID: <20250507120451.4000627-1-hch@lst.de> (raw)
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.
Changes since v2:
- rebase on top of the latest block for-next branch to resolve
conflicts with the bonuce buffering removal
Changes since v1:
- typo fixes
- improve commit messages and kerneldoc comments
- move bio_add_virt_nofail out of line
- make the number of bio_vecs calculation helper more generic
- add another vmalloc helper for the common case
Diffstat:
block/bio.c | 101 +++++++++++++++++++++++++++++++++++++++++
block/blk-map.c | 92 +++++++++----------------------------
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 | 43 +++--------------
fs/xfs/xfs_log.c | 32 ++-----------
fs/zonefs/super.c | 34 ++++---------
include/linux/bio.h | 25 +++++++++-
include/linux/blk-mq.h | 4 -
kernel/power/swap.c | 103 ++++++++++++++++++------------------------
22 files changed, 270 insertions(+), 318 deletions(-)
next reply other threads:[~2025-05-07 12:04 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-07 12:04 Christoph Hellwig [this message]
2025-05-07 12:04 ` [PATCH 01/19] block: add a bio_add_virt_nofail helper Christoph Hellwig
2025-05-07 12:04 ` [PATCH 02/19] block: add a bdev_rw_virt helper Christoph Hellwig
2025-05-07 14:01 ` Jens Axboe
2025-05-08 12:52 ` Matthew Wilcox
2025-05-08 13:10 ` Jens Axboe
2025-05-08 13:23 ` Johannes Thumshirn
2025-05-07 12:04 ` [PATCH 03/19] block: add a bio_add_max_vecs helper Christoph Hellwig
2025-05-07 12:04 ` [PATCH 04/19] block: add a bio_add_vmalloc helpers Christoph Hellwig
2025-05-07 12:04 ` [PATCH 05/19] block: remove the q argument from blk_rq_map_kern Christoph Hellwig
2025-05-07 12:04 ` [PATCH 06/19] block: pass the operation to bio_{map,copy}_kern Christoph Hellwig
2025-05-07 12:04 ` [PATCH 07/19] block: simplify bio_map_kern Christoph Hellwig
2025-05-07 12:04 ` [PATCH 08/19] bcache: use bio_add_virt_nofail Christoph Hellwig
2025-05-07 12:04 ` [PATCH 09/19] rnbd-srv: " Christoph Hellwig
2025-05-07 12:04 ` [PATCH 10/19] gfs2: use bdev_rw_virt in gfs2_read_super Christoph Hellwig
2025-05-07 12:04 ` [PATCH 11/19] zonefs: use bdev_rw_virt in zonefs_read_super Christoph Hellwig
2025-05-07 12:04 ` [PATCH 12/19] PM: hibernate: split and simplify hib_submit_io Christoph Hellwig
2025-05-07 12:04 ` [PATCH 13/19] dm-bufio: use bio_add_virt_nofail Christoph Hellwig
2025-05-07 12:04 ` [PATCH 14/19] dm-integrity: " Christoph Hellwig
2025-05-07 12:04 ` [PATCH 15/19] xfs: simplify xfs_buf_submit_bio Christoph Hellwig
2025-05-07 12:04 ` [PATCH 16/19] xfs: simplify xfs_rw_bdev Christoph Hellwig
2025-05-07 12:04 ` [PATCH 17/19] xfs: simplify building the bio in xlog_write_iclog Christoph Hellwig
2025-05-07 12:04 ` [PATCH 18/19] btrfs: use bdev_rw_virt in scrub_one_super Christoph Hellwig
2025-05-07 12:04 ` [PATCH 19/19] hfsplus: use bdev_rw_virt in hfsplus_submit_bio Christoph Hellwig
2025-05-07 14:02 ` add more bio helpers v3 Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250507120451.4000627-1-hch@lst.de \
--to=hch@lst.de \
--cc=agruenba@redhat.com \
--cc=axboe@kernel.dk \
--cc=cem@kernel.org \
--cc=clm@fb.com \
--cc=colyli@kernel.org \
--cc=dlemoal@kernel.org \
--cc=dm-devel@lists.linux.dev \
--cc=dsterba@suse.com \
--cc=frank.li@vivo.com \
--cc=gfs2@lists.linux.dev \
--cc=glaubitz@physik.fu-berlin.de \
--cc=haris.iqbal@ionos.com \
--cc=jinpu.wang@ionos.com \
--cc=josef@toxicpanda.com \
--cc=jth@kernel.org \
--cc=kent.overstreet@linux.dev \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=naohiro.aota@wdc.com \
--cc=pavel@kernel.org \
--cc=rafael@kernel.org \
--cc=slava@dubeyko.com \
--cc=snitzer@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).