Re: [PATCH v4 2/9] iov_iter: Add copy_folio_from_iter_atomic()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 10, 2023 at 02:02:46PM +0100, Matthew Wilcox (Oracle) wrote:
> Add a folio wrapper around copy_page_from_iter_atomic().
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

Wellllll crap.  I got all ready to push this to for-next, but then my
maintainer checkpatch interlock scripts pointed out that this commit
doesn't have /any/ RVB attached to it.  Apparently I forgot to tag this
one when I went through all this.

Matthew, can you please add:

Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>

and redo the whole branch-push and pull-request dance, please?

(Also could you put a sob tag on the tag message so that the merge
commit can have full authorship details?)

--D

> ---
>  include/linux/uio.h | 9 ++++++++-
>  lib/iov_iter.c      | 2 +-
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/uio.h b/include/linux/uio.h
> index ff81e5ccaef2..42bce38a8e87 100644
> --- a/include/linux/uio.h
> +++ b/include/linux/uio.h
> @@ -163,7 +163,7 @@ static inline size_t iov_length(const struct iovec *iov, unsigned long nr_segs)
>  	return ret;
>  }
>  
> -size_t copy_page_from_iter_atomic(struct page *page, unsigned offset,
> +size_t copy_page_from_iter_atomic(struct page *page, size_t offset,
>  				  size_t bytes, struct iov_iter *i);
>  void iov_iter_advance(struct iov_iter *i, size_t bytes);
>  void iov_iter_revert(struct iov_iter *i, size_t bytes);
> @@ -184,6 +184,13 @@ static inline size_t copy_folio_to_iter(struct folio *folio, size_t offset,
>  {
>  	return copy_page_to_iter(&folio->page, offset, bytes, i);
>  }
> +
> +static inline size_t copy_folio_from_iter_atomic(struct folio *folio,
> +		size_t offset, size_t bytes, struct iov_iter *i)
> +{
> +	return copy_page_from_iter_atomic(&folio->page, offset, bytes, i);
> +}
> +
>  size_t copy_page_to_iter_nofault(struct page *page, unsigned offset,
>  				 size_t bytes, struct iov_iter *i);
>  
> diff --git a/lib/iov_iter.c b/lib/iov_iter.c
> index c728b6e4fb18..8da566a549ad 100644
> --- a/lib/iov_iter.c
> +++ b/lib/iov_iter.c
> @@ -566,7 +566,7 @@ size_t iov_iter_zero(size_t bytes, struct iov_iter *i)
>  }
>  EXPORT_SYMBOL(iov_iter_zero);
>  
> -size_t copy_page_from_iter_atomic(struct page *page, unsigned offset,
> +size_t copy_page_from_iter_atomic(struct page *page, size_t offset,
>  		size_t bytes, struct iov_iter *i)
>  {
>  	size_t n, copied = 0;
> -- 
> 2.39.2
> 



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux