Message ID | 55f236028fe97c2119ad8aa51cc6e5fe0cb04d0b.1705605787.git.rgoldwyn@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] btrfs: Use IS_ERR() instead of checking folio for NULL | expand |
On Thu, Jan 18, 2024 at 01:46:38PM -0600, Goldwyn Rodrigues wrote: > From: Goldwyn Rodrigues <rgoldwyn@suse.com> > > Convert usage of page to folio in prealloc_file_extent_cluster(). This converts > all page-based function calls to folio-based. > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Reviewed-by: Boris Burkov <boris@bur.io> > --- > fs/btrfs/relocation.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c > index abe594f77f99..c365bfc60652 100644 > --- a/fs/btrfs/relocation.c > +++ b/fs/btrfs/relocation.c > @@ -2858,7 +2858,7 @@ static noinline_for_stack int prealloc_file_extent_cluster( > struct address_space *mapping = inode->vfs_inode.i_mapping; > struct btrfs_fs_info *fs_info = inode->root->fs_info; > const u32 sectorsize = fs_info->sectorsize; > - struct page *page; > + struct folio *folio; > > ASSERT(sectorsize < PAGE_SIZE); > ASSERT(IS_ALIGNED(i_size, sectorsize)); > @@ -2889,16 +2889,16 @@ static noinline_for_stack int prealloc_file_extent_cluster( > clear_extent_bits(&inode->io_tree, i_size, > round_up(i_size, PAGE_SIZE) - 1, > EXTENT_UPTODATE); > - page = find_lock_page(mapping, i_size >> PAGE_SHIFT); > + folio = filemap_lock_folio(mapping, i_size >> PAGE_SHIFT); > /* > * If page is freed we don't need to do anything then, as we > * will re-read the whole page anyway. > */ > - if (page) { > - btrfs_subpage_clear_uptodate(fs_info, page_folio(page), i_size, > + if (!IS_ERR(folio)) { > + btrfs_subpage_clear_uptodate(fs_info, folio, i_size, > round_up(i_size, PAGE_SIZE) - i_size); > - unlock_page(page); > - put_page(page); > + folio_unlock(folio); > + folio_put(folio); > } > } > > -- > 2.43.0 >
On Thu, Jan 18, 2024 at 01:46:38PM -0600, Goldwyn Rodrigues wrote: > From: Goldwyn Rodrigues <rgoldwyn@suse.com> > > Convert usage of page to folio in prealloc_file_extent_cluster(). This converts > all page-based function calls to folio-based. > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Reviewed-by: David Sterba <dsterba@suse.com>
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index abe594f77f99..c365bfc60652 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -2858,7 +2858,7 @@ static noinline_for_stack int prealloc_file_extent_cluster( struct address_space *mapping = inode->vfs_inode.i_mapping; struct btrfs_fs_info *fs_info = inode->root->fs_info; const u32 sectorsize = fs_info->sectorsize; - struct page *page; + struct folio *folio; ASSERT(sectorsize < PAGE_SIZE); ASSERT(IS_ALIGNED(i_size, sectorsize)); @@ -2889,16 +2889,16 @@ static noinline_for_stack int prealloc_file_extent_cluster( clear_extent_bits(&inode->io_tree, i_size, round_up(i_size, PAGE_SIZE) - 1, EXTENT_UPTODATE); - page = find_lock_page(mapping, i_size >> PAGE_SHIFT); + folio = filemap_lock_folio(mapping, i_size >> PAGE_SHIFT); /* * If page is freed we don't need to do anything then, as we * will re-read the whole page anyway. */ - if (page) { - btrfs_subpage_clear_uptodate(fs_info, page_folio(page), i_size, + if (!IS_ERR(folio)) { + btrfs_subpage_clear_uptodate(fs_info, folio, i_size, round_up(i_size, PAGE_SIZE) - i_size); - unlock_page(page); - put_page(page); + folio_unlock(folio); + folio_put(folio); } }