Re: [PATCH] isofs: Partially convert zisofs_read_folio to use a folio

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

 



On Mon 25-11-24 18:01:14, Matthew Wilcox (Oracle) wrote:
> Remove several hidden calls to compound_head() and references
> to page->index.  More needs to be done to use folios throughout
> the zisofs code.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>

Thanks! Added to my tree.

								Honza

> ---
>  fs/isofs/compress.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/fs/isofs/compress.c b/fs/isofs/compress.c
> index 34d5baa5d88a..5f3b6da0e022 100644
> --- a/fs/isofs/compress.c
> +++ b/fs/isofs/compress.c
> @@ -301,7 +301,6 @@ static int zisofs_fill_pages(struct inode *inode, int full_page, int pcount,
>   */
>  static int zisofs_read_folio(struct file *file, struct folio *folio)
>  {
> -	struct page *page = &folio->page;
>  	struct inode *inode = file_inode(file);
>  	struct address_space *mapping = inode->i_mapping;
>  	int err;
> @@ -311,16 +310,15 @@ static int zisofs_read_folio(struct file *file, struct folio *folio)
>  		PAGE_SHIFT <= zisofs_block_shift ?
>  		(1 << (zisofs_block_shift - PAGE_SHIFT)) : 0;
>  	struct page **pages;
> -	pgoff_t index = page->index, end_index;
> +	pgoff_t index = folio->index, end_index;
>  
>  	end_index = (inode->i_size + PAGE_SIZE - 1) >> PAGE_SHIFT;
>  	/*
> -	 * If this page is wholly outside i_size we just return zero;
> +	 * If this folio is wholly outside i_size we just return zero;
>  	 * do_generic_file_read() will handle this for us
>  	 */
>  	if (index >= end_index) {
> -		SetPageUptodate(page);
> -		unlock_page(page);
> +		folio_end_read(folio, true);
>  		return 0;
>  	}
>  
> @@ -338,10 +336,10 @@ static int zisofs_read_folio(struct file *file, struct folio *folio)
>  	pages = kcalloc(max_t(unsigned int, zisofs_pages_per_cblock, 1),
>  					sizeof(*pages), GFP_KERNEL);
>  	if (!pages) {
> -		unlock_page(page);
> +		folio_unlock(folio);
>  		return -ENOMEM;
>  	}
> -	pages[full_page] = page;
> +	pages[full_page] = &folio->page;
>  
>  	for (i = 0; i < pcount; i++, index++) {
>  		if (i != full_page)
> -- 
> 2.45.2
> 
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR




[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