All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <dlemoal@kernel.org>
To: Christoph Hellwig <hch@lst.de>, 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>,
	Naohiro Aota <naohiro.aota@wdc.com>,
	Johannes Thumshirn <jth@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@kernel.org>,
	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 01/17] block: add a bio_add_virt_nofail helper
Date: Thu, 24 Apr 2025 14:56:03 +0900	[thread overview]
Message-ID: <98fcbf51-b91c-4211-98d2-a987bdc09f49@kernel.org> (raw)
In-Reply-To: <20250422142628.1553523-2-hch@lst.de>

On 4/22/25 23:26, Christoph Hellwig wrote:
> Add a helper to add a directly mapped kernel virtual address to a
> bio so that callers don't have to convert to pages or folios.
> 
> For now only the _nofail variant is provided as that is what all the
> obvious callers want.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  include/linux/bio.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/include/linux/bio.h b/include/linux/bio.h
> index cafc7c215de8..0678b67162ee 100644
> --- a/include/linux/bio.h
> +++ b/include/linux/bio.h
> @@ -417,6 +417,23 @@ void __bio_add_page(struct bio *bio, struct page *page,
>  		unsigned int len, unsigned int off);
>  void bio_add_folio_nofail(struct bio *bio, struct folio *folio, size_t len,
>  			  size_t off);
> +
> +/**
> + * bio_add_virt_nofail - add data in the diret kernel mapping to a bio

s/diret/direct

With that, looks good to me.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>

> + * @bio: destination bio
> + * @vaddr: data to add
> + * @len: length of the data to add, may cross pages
> + *
> + * Add the data at @vaddr to @bio.  The caller must have ensure a segment
> + * is available for the added data.  No merging into an existing segment
> + * will be performed.
> + */
> +static inline void bio_add_virt_nofail(struct bio *bio, void *vaddr,
> +		unsigned len)
> +{
> +	__bio_add_page(bio, virt_to_page(vaddr), len, offset_in_page(vaddr));
> +}
> +
>  int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter);
>  void bio_iov_bvec_set(struct bio *bio, const struct iov_iter *iter);
>  void __bio_release_pages(struct bio *bio, bool mark_dirty);


-- 
Damien Le Moal
Western Digital Research

  parent reply	other threads:[~2025-04-24  5:56 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-22 14:26 add more bio helper Christoph Hellwig
2025-04-22 14:26 ` [PATCH 01/17] block: add a bio_add_virt_nofail helper Christoph Hellwig
2025-04-23  6:05   ` Hannes Reinecke
2025-04-24  5:56   ` Damien Le Moal [this message]
2025-04-29 11:02   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 02/17] block: add a bdev_rw_virt helper Christoph Hellwig
2025-04-23  6:07   ` Hannes Reinecke
2025-04-23  9:36     ` Christoph Hellwig
2025-04-24  5:59   ` Damien Le Moal
2025-04-24  6:26   ` John Garry
2025-04-29 11:03   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 03/17] block: add a bio_add_vmalloc helper Christoph Hellwig
2025-04-23  6:09   ` Hannes Reinecke
2025-04-24  6:06   ` Damien Le Moal
2025-04-29 11:05   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 04/17] block: remove the q argument from blk_rq_map_kern Christoph Hellwig
2025-04-23  6:10   ` Hannes Reinecke
2025-04-29 11:24     ` Johannes Thumshirn
2025-04-29 12:28       ` hch
2025-04-24  6:09   ` Damien Le Moal
2025-04-22 14:26 ` [PATCH 05/17] block: pass the operation to bio_{map,copy}_kern Christoph Hellwig
2025-04-23  6:11   ` Hannes Reinecke
2025-04-24  6:11   ` Damien Le Moal
2025-04-29 11:29   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 06/17] block: simplify bio_map_kern Christoph Hellwig
2025-04-23  6:14   ` Hannes Reinecke
2025-04-24  6:13   ` Damien Le Moal
2025-04-29 11:31   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 07/17] bcache: use bio_add_virt_nofail Christoph Hellwig
2025-04-24  6:14   ` Damien Le Moal
2025-04-29  2:06     ` Coly Li
2025-04-29 11:32   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 08/17] dm-bufio: " Christoph Hellwig
2025-04-24  6:14   ` Damien Le Moal
2025-04-29 11:33   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 09/17] dm-integrity: " Christoph Hellwig
2025-04-24  6:16   ` Damien Le Moal
2025-04-29 11:34   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 10/17] rnbd-srv: " Christoph Hellwig
2025-04-24  6:16   ` Damien Le Moal
2025-04-24  6:16   ` Damien Le Moal
2025-04-24  7:14   ` Jinpu Wang
2025-04-29 11:34   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 11/17] xfs: simplify xfs_buf_submit_bio Christoph Hellwig
2025-04-24  6:18   ` Damien Le Moal
2025-04-29 14:53   ` Darrick J. Wong
2025-04-22 14:26 ` [PATCH 12/17] xfs: simplify xfs_rw_bdev Christoph Hellwig
2025-04-24  6:20   ` Damien Le Moal
2025-04-29 14:53   ` Darrick J. Wong
2025-04-22 14:26 ` [PATCH 13/17] btrfs: use bdev_rw_virt in scrub_one_super Christoph Hellwig
2025-04-24  6:20   ` Damien Le Moal
2025-04-28  9:18   ` Johannes Thumshirn
2025-04-28  9:22   ` Qu Wenruo
2025-04-22 14:26 ` [PATCH 14/17] hfsplus: use bdev_rw_virt in hfsplus_submit_bio Christoph Hellwig
2025-04-24  6:21   ` Damien Le Moal
2025-04-29 11:39   ` Johannes Thumshirn
2025-04-22 14:26 ` [PATCH 15/17] gfs2: use bdev_rw_virt in gfs2_read_super Christoph Hellwig
2025-04-24  6:23   ` Damien Le Moal
2025-04-24  8:08     ` Andreas Gruenbacher
2025-04-22 14:26 ` [PATCH 16/17] zonefs: use bdev_rw_virt in zonefs_read_super Christoph Hellwig
2025-04-24  6:24   ` Damien Le Moal
2025-04-29 11:44   ` Johannes Thumshirn
2025-04-29 12:31     ` hch
2025-04-22 14:26 ` [PATCH 17/17] PM: hibernate: split and simplify hib_submit_io Christoph Hellwig
2025-04-24  6:26   ` Damien Le Moal
2025-04-29 11:12   ` Rafael J. Wysocki
2025-04-22 14:47 ` add more bio helper Kent Overstreet
2025-04-23  9:36   ` Christoph Hellwig
2025-04-23 10:37     ` Kent Overstreet
2025-04-23 16:07       ` Christoph Hellwig
2025-04-23 18:02         ` Kent Overstreet
2025-04-24  8:37           ` Christoph Hellwig
2025-04-24 12:01             ` Kent Overstreet

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=98fcbf51-b91c-4211-98d2-a987bdc09f49@kernel.org \
    --to=dlemoal@kernel.org \
    --cc=agruenba@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=cem@kernel.org \
    --cc=clm@fb.com \
    --cc=colyli@kernel.org \
    --cc=dm-devel@lists.linux.dev \
    --cc=dsterba@suse.com \
    --cc=gfs2@lists.linux.dev \
    --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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.