Re: [PATCH v14 015/138] mm/filemap: Add folio_pos() and folio_file_pos()

Mike Rapoport
2021-07-20T10:47:59Z

On Thu, Jul 15, 2021 at 04:35:01AM +0100, Matthew Wilcox (Oracle) wrote:
> These are just wrappers around page_offset() and page_file_offset()
> respectively. No change to generated code.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Acked-by: Jeff Layton <jlayton@kernel.org>
> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Acked-by: Vlastimil Babka <vbabka@suse.cz>
> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
> Reviewed-by: David Howells <dhowells@redhat.com>
> ---
> include/linux/pagemap.h | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
> index bd0e7e91bfd4..aa71fa82d6be 100644
> --- a/include/linux/pagemap.h
> +++ b/include/linux/pagemap.h
> @@ -562,6 +562,27 @@ static inline loff_t page_file_offset(struct page *page)
> return ((loff_t)page_index(page)) << PAGE_SHIFT;
> }
>
> +/**
> + * folio_pos - Returns the byte position of this folio in its file.
> + * @folio: The folio.

kerneldoc will warn about missing description of return value.

> + */
> +static inline loff_t folio_pos(struct folio *folio)
> +{
> + return page_offset(&folio->page);
> +}
> +
> +/**
> + * folio_file_pos - Returns the byte position of this folio in its file.
> + * @folio: The folio.
> + *
> + * This differs from folio_pos() for folios which belong to a swap file.
> + * NFS is the only filesystem today which needs to use folio_file_pos().

ditto

> + */
> +static inline loff_t folio_file_pos(struct folio *folio)
> +{
> + return page_file_offset(&folio->page);
> +}
> +
> extern pgoff_t linear_hugepage_index(struct vm_area_struct *vma,
> unsigned long address);
>
> --
> 2.30.2
>
>

--
Sincerely yours,
Mike.