mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 12:14:10 +08:00
fscrypt: convert bh_get_inode_and_lblk_num to use a folio
Patch series "Remove page_mapping()". There are only a few users left. Convert them all to either call folio_mapping() or just use folio->mapping directly. This patch (of 6): Remove uses of page->index, page_mapping() and b_page. Saves a call to compound_head(). Link: https://lkml.kernel.org/r/20240423225552.4113447-1-willy@infradead.org Link: https://lkml.kernel.org/r/20240423225552.4113447-2-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Eric Biggers <ebiggers@google.com> Reviewed-by: David Hildenbrand <david@redhat.com> Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
b650e1d2ae
commit
262f014dd7
@ -284,7 +284,7 @@ static bool bh_get_inode_and_lblk_num(const struct buffer_head *bh,
|
||||
const struct inode **inode_ret,
|
||||
u64 *lblk_num_ret)
|
||||
{
|
||||
struct page *page = bh->b_page;
|
||||
struct folio *folio = bh->b_folio;
|
||||
const struct address_space *mapping;
|
||||
const struct inode *inode;
|
||||
|
||||
@ -292,13 +292,13 @@ static bool bh_get_inode_and_lblk_num(const struct buffer_head *bh,
|
||||
* The ext4 journal (jbd2) can submit a buffer_head it directly created
|
||||
* for a non-pagecache page. fscrypt doesn't care about these.
|
||||
*/
|
||||
mapping = page_mapping(page);
|
||||
mapping = folio_mapping(folio);
|
||||
if (!mapping)
|
||||
return false;
|
||||
inode = mapping->host;
|
||||
|
||||
*inode_ret = inode;
|
||||
*lblk_num_ret = ((u64)page->index << (PAGE_SHIFT - inode->i_blkbits)) +
|
||||
*lblk_num_ret = ((u64)folio->index << (PAGE_SHIFT - inode->i_blkbits)) +
|
||||
(bh_offset(bh) >> inode->i_blkbits);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user