Re: [PATCH 02/21] block: Add bio_add_folio()

Matthew Wilcox
2021-11-03T02:23:50Z

On Wed, Nov 03, 2021 at 01:25:57AM +0000, wangjianjian (C) wrote:
> diff --git a/block/bio.c b/block/bio.c
> index 15ab0d6d1c06..0e911c4fb9f2 100644
> --- a/block/bio.c
> +++ b/block/bio.c
> @@ -1033,6 +1033,28 @@ int bio_add_page(struct bio *bio, struct page *page, } EXPORT_SYMBOL(bio_add_page);
>
> +/**
> + * bio_add_folio - Attempt to add part of a folio to a bio.
> + * @bio: BIO to add to.
> + * @folio: Folio to add.
> + * @len: How many bytes from the folio to add.
> + * @off: First byte in this folio to add.
> + *
> + * Filesystems that use folios can call this function instead of
> +calling
> + * bio_add_page() for each page in the folio. If @off is bigger than
> + * PAGE_SIZE, this function can create a bio_vec that starts in a page
> + * after the bv_page. BIOs do not support folios that are 4GiB or larger.
> + *
> + * Return: Whether the addition was successful.
> + */
> +bool bio_add_folio(struct bio *bio, struct folio *folio, size_t len,
> + size_t off)
> +{
> + if (len > UINT_MAX || off > UINT_MAX)
> + return 0;
> + return bio_add_page(bio, &folio->page, len, off) > 0; }
> +
>
>
> Newline.

I think it's your mail system that's mangled it. Here's how it looked
to the rest of the world: