From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
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: Re: [PATCH 17/19] xfs: simplify building the bio in xlog_write_iclog
Date: Thu, 1 May 2025 12:51:24 -0700 [thread overview]
Message-ID: <20250501195124.GE25675@frogsfrogsfrogs> (raw)
In-Reply-To: <20250430212159.2865803-18-hch@lst.de>
On Wed, Apr 30, 2025 at 04:21:47PM -0500, Christoph Hellwig wrote:
> Use the bio_add_virt_nofail and bio_add_vmalloc helpers to abstract
> away the details of the memory allocation.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Nice cleanup!
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> fs/xfs/xfs_log.c | 32 ++++++--------------------------
> 1 file changed, 6 insertions(+), 26 deletions(-)
>
> diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
> index 980aabc49512..793468b4d30d 100644
> --- a/fs/xfs/xfs_log.c
> +++ b/fs/xfs/xfs_log.c
> @@ -1607,27 +1607,6 @@ xlog_bio_end_io(
> &iclog->ic_end_io_work);
> }
>
> -static int
> -xlog_map_iclog_data(
> - struct bio *bio,
> - void *data,
> - size_t count)
> -{
> - do {
> - struct page *page = kmem_to_page(data);
> - unsigned int off = offset_in_page(data);
> - size_t len = min_t(size_t, count, PAGE_SIZE - off);
> -
> - if (bio_add_page(bio, page, len, off) != len)
> - return -EIO;
> -
> - data += len;
> - count -= len;
> - } while (count);
> -
> - return 0;
> -}
> -
> STATIC void
> xlog_write_iclog(
> struct xlog *log,
> @@ -1693,11 +1672,12 @@ xlog_write_iclog(
>
> iclog->ic_flags &= ~(XLOG_ICL_NEED_FLUSH | XLOG_ICL_NEED_FUA);
>
> - if (xlog_map_iclog_data(&iclog->ic_bio, iclog->ic_data, count))
> - goto shutdown;
> -
> - if (is_vmalloc_addr(iclog->ic_data))
> - flush_kernel_vmap_range(iclog->ic_data, count);
> + if (is_vmalloc_addr(iclog->ic_data)) {
> + if (!bio_add_vmalloc(&iclog->ic_bio, iclog->ic_data, count))
> + goto shutdown;
> + } else {
> + bio_add_virt_nofail(&iclog->ic_bio, iclog->ic_data, count);
> + }
>
> /*
> * If this log buffer would straddle the end of the log we will have
> --
> 2.47.2
>
>
next prev parent reply other threads:[~2025-05-01 19:51 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 21:21 add more bio helpers v2 Christoph Hellwig
2025-04-30 21:21 ` [PATCH 01/19] block: add a bio_add_virt_nofail helper Christoph Hellwig
2025-04-30 21:21 ` [PATCH 02/19] block: add a bdev_rw_virt helper Christoph Hellwig
2025-04-30 21:21 ` [PATCH 03/19] block: add a bio_add_max_vecs helper Christoph Hellwig
2025-05-01 18:50 ` Damien Le Moal
2025-05-02 8:11 ` Johannes Thumshirn
2025-05-02 9:16 ` Johannes Thumshirn
2025-04-30 21:21 ` [PATCH 04/19] block: add a bio_add_vmalloc helpers Christoph Hellwig
2025-05-01 18:52 ` Damien Le Moal
2025-05-02 9:20 ` Johannes Thumshirn
2025-04-30 21:21 ` [PATCH 05/19] block: remove the q argument from blk_rq_map_kern Christoph Hellwig
2025-04-30 21:21 ` [PATCH 06/19] block: pass the operation to bio_{map,copy}_kern Christoph Hellwig
2025-04-30 21:21 ` [PATCH 07/19] block: simplify bio_map_kern Christoph Hellwig
2025-05-01 18:56 ` Damien Le Moal
2025-05-02 7:05 ` Christoph Hellwig
2025-05-02 8:52 ` Johannes Thumshirn
2025-04-30 21:21 ` [PATCH 08/19] bcache: use bio_add_virt_nofail Christoph Hellwig
2025-04-30 21:21 ` [PATCH 09/19] rnbd-srv: " Christoph Hellwig
2025-04-30 21:21 ` [PATCH 10/19] gfs2: use bdev_rw_virt in gfs2_read_super Christoph Hellwig
2025-04-30 21:21 ` [PATCH 11/19] zonefs: use bdev_rw_virt in zonefs_read_super Christoph Hellwig
2025-04-30 21:21 ` [PATCH 12/19] PM: hibernate: split and simplify hib_submit_io Christoph Hellwig
2025-04-30 21:21 ` [PATCH 13/19] dm-bufio: use bio_add_virt_nofail Christoph Hellwig
2025-05-06 9:36 ` Mikulas Patocka
2025-04-30 21:21 ` [PATCH 14/19] dm-integrity: " Christoph Hellwig
2025-05-06 9:37 ` Mikulas Patocka
2025-04-30 21:21 ` [PATCH 15/19] xfs: simplify xfs_buf_submit_bio Christoph Hellwig
2025-05-01 18:57 ` Damien Le Moal
2025-05-01 19:51 ` Darrick J. Wong
2025-05-02 7:07 ` Christoph Hellwig
2025-04-30 21:21 ` [PATCH 16/19] xfs: simplify xfs_rw_bdev Christoph Hellwig
2025-04-30 21:21 ` [PATCH 17/19] xfs: simplify building the bio in xlog_write_iclog Christoph Hellwig
2025-05-01 18:58 ` Damien Le Moal
2025-05-01 19:51 ` Darrick J. Wong [this message]
2025-04-30 21:21 ` [PATCH 18/19] btrfs: use bdev_rw_virt in scrub_one_super Christoph Hellwig
2025-05-06 10:05 ` David Sterba
2025-04-30 21:21 ` [PATCH 19/19] hfsplus: use bdev_rw_virt in hfsplus_submit_bio Christoph Hellwig
2025-05-06 4:39 ` 回复: " 李扬韬
2025-05-06 4:47 ` add more bio helpers v2 Christoph Hellwig
2025-05-06 9:39 ` Mikulas Patocka
-- strict thread matches above, loose matches on Subject: below --
2025-05-07 12:04 add more bio helpers v3 Christoph Hellwig
2025-05-07 12:04 ` [PATCH 17/19] xfs: simplify building the bio in xlog_write_iclog Christoph Hellwig
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=20250501195124.GE25675@frogsfrogsfrogs \
--to=djwong@kernel.org \
--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=hch@lst.de \
--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).