f2fs: Use a folio in f2fs_inline_data_fiemap()

Remove a call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2025-03-31 21:12:05 +01:00 committed by Jaegeuk Kim
parent f5ef723c17
commit a0fd315e31

View file

@ -794,12 +794,12 @@ int f2fs_inline_data_fiemap(struct inode *inode,
__u32 flags = FIEMAP_EXTENT_DATA_INLINE | FIEMAP_EXTENT_NOT_ALIGNED | __u32 flags = FIEMAP_EXTENT_DATA_INLINE | FIEMAP_EXTENT_NOT_ALIGNED |
FIEMAP_EXTENT_LAST; FIEMAP_EXTENT_LAST;
struct node_info ni; struct node_info ni;
struct page *ipage; struct folio *ifolio;
int err = 0; int err = 0;
ipage = f2fs_get_inode_page(F2FS_I_SB(inode), inode->i_ino); ifolio = f2fs_get_inode_folio(F2FS_I_SB(inode), inode->i_ino);
if (IS_ERR(ipage)) if (IS_ERR(ifolio))
return PTR_ERR(ipage); return PTR_ERR(ifolio);
if ((S_ISREG(inode->i_mode) || S_ISLNK(inode->i_mode)) && if ((S_ISREG(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
!f2fs_has_inline_data(inode)) { !f2fs_has_inline_data(inode)) {
@ -824,11 +824,11 @@ int f2fs_inline_data_fiemap(struct inode *inode,
goto out; goto out;
byteaddr = (__u64)ni.blk_addr << inode->i_sb->s_blocksize_bits; byteaddr = (__u64)ni.blk_addr << inode->i_sb->s_blocksize_bits;
byteaddr += (char *)inline_data_addr(inode, ipage) - byteaddr += (char *)inline_data_addr(inode, &ifolio->page) -
(char *)F2FS_INODE(ipage); (char *)F2FS_INODE(&ifolio->page);
err = fiemap_fill_next_extent(fieinfo, start, byteaddr, ilen, flags); err = fiemap_fill_next_extent(fieinfo, start, byteaddr, ilen, flags);
trace_f2fs_fiemap(inode, start, byteaddr, ilen, flags, err); trace_f2fs_fiemap(inode, start, byteaddr, ilen, flags, err);
out: out:
f2fs_put_page(ipage, 1); f2fs_folio_put(ifolio, true);
return err; return err;
} }