mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
f2fs: Pass a folio to ofs_of_node()
All callers now have a folio so pass it in. 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:
parent
fb92a5c9f8
commit
6d3a7f6589
6 changed files with 15 additions and 15 deletions
|
@ -934,7 +934,7 @@ static void __update_extent_cache(struct dnode_of_data *dn, enum extent_type typ
|
|||
if (!__may_extent_tree(dn->inode, type))
|
||||
return;
|
||||
|
||||
ei.fofs = f2fs_start_bidx_of_node(ofs_of_node(&dn->node_folio->page), dn->inode) +
|
||||
ei.fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_folio), dn->inode) +
|
||||
dn->ofs_in_node;
|
||||
ei.len = 1;
|
||||
|
||||
|
|
|
@ -707,7 +707,7 @@ next:
|
|||
* once we invalidate valid blkaddr in range [ofs, ofs + count],
|
||||
* we will invalidate all blkaddr in the whole range.
|
||||
*/
|
||||
fofs = f2fs_start_bidx_of_node(ofs_of_node(&dn->node_folio->page),
|
||||
fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_folio),
|
||||
dn->inode) + ofs;
|
||||
f2fs_update_read_extent_cache_range(dn, fofs, 0, len);
|
||||
f2fs_update_age_extent_cache_range(dn, fofs, len);
|
||||
|
|
|
@ -1177,7 +1177,7 @@ static bool is_alive(struct f2fs_sb_info *sbi, struct f2fs_summary *sum,
|
|||
return false;
|
||||
}
|
||||
|
||||
*nofs = ofs_of_node(&node_folio->page);
|
||||
*nofs = ofs_of_node(node_folio);
|
||||
source_blkaddr = data_blkaddr(NULL, node_folio, ofs_in_node);
|
||||
f2fs_folio_put(node_folio, true);
|
||||
|
||||
|
|
|
@ -1479,12 +1479,12 @@ static int sanity_check_node_footer(struct f2fs_sb_info *sbi,
|
|||
if (unlikely(nid != nid_of_node(folio) ||
|
||||
(ntype == NODE_TYPE_INODE && !IS_INODE(page)) ||
|
||||
(ntype == NODE_TYPE_XATTR &&
|
||||
!f2fs_has_xattr_block(ofs_of_node(page))) ||
|
||||
!f2fs_has_xattr_block(ofs_of_node(folio))) ||
|
||||
time_to_inject(sbi, FAULT_INCONSISTENT_FOOTER))) {
|
||||
f2fs_warn(sbi, "inconsistent node block, node_type:%d, nid:%lu, "
|
||||
"node_footer[nid:%u,ino:%u,ofs:%u,cpver:%llu,blkaddr:%u]",
|
||||
ntype, nid, nid_of_node(folio), ino_of_node(folio),
|
||||
ofs_of_node(page), cpver_of_node(folio),
|
||||
ofs_of_node(folio), cpver_of_node(folio),
|
||||
next_blkaddr_of_node(folio));
|
||||
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||
f2fs_handle_error(sbi, ERROR_INCONSISTENT_FOOTER);
|
||||
|
|
|
@ -255,9 +255,9 @@ static inline nid_t nid_of_node(const struct folio *node_folio)
|
|||
return le32_to_cpu(rn->footer.nid);
|
||||
}
|
||||
|
||||
static inline unsigned int ofs_of_node(const struct page *node_page)
|
||||
static inline unsigned int ofs_of_node(const struct folio *node_folio)
|
||||
{
|
||||
struct f2fs_node *rn = F2FS_NODE(node_page);
|
||||
struct f2fs_node *rn = F2FS_NODE(&node_folio->page);
|
||||
unsigned flag = le32_to_cpu(rn->footer.flag);
|
||||
return flag >> OFFSET_BIT_SHIFT;
|
||||
}
|
||||
|
@ -352,7 +352,7 @@ static inline bool is_recoverable_dnode(const struct folio *folio)
|
|||
*/
|
||||
static inline bool IS_DNODE(const struct folio *node_folio)
|
||||
{
|
||||
unsigned int ofs = ofs_of_node(&node_folio->page);
|
||||
unsigned int ofs = ofs_of_node(node_folio);
|
||||
|
||||
if (f2fs_has_xattr_block(ofs))
|
||||
return true;
|
||||
|
|
|
@ -552,7 +552,7 @@ got_it:
|
|||
if (IS_ERR(node_folio))
|
||||
return PTR_ERR(node_folio);
|
||||
|
||||
offset = ofs_of_node(&node_folio->page);
|
||||
offset = ofs_of_node(node_folio);
|
||||
ino = ino_of_node(node_folio);
|
||||
f2fs_folio_put(node_folio, true);
|
||||
|
||||
|
@ -632,7 +632,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode,
|
|||
err = f2fs_recover_inline_xattr(inode, folio);
|
||||
if (err)
|
||||
goto out;
|
||||
} else if (f2fs_has_xattr_block(ofs_of_node(&folio->page))) {
|
||||
} else if (f2fs_has_xattr_block(ofs_of_node(folio))) {
|
||||
err = f2fs_recover_xattr_data(inode, folio);
|
||||
if (!err)
|
||||
recovered++;
|
||||
|
@ -648,7 +648,7 @@ static int do_recover_data(struct f2fs_sb_info *sbi, struct inode *inode,
|
|||
}
|
||||
|
||||
/* step 3: recover data indices */
|
||||
start = f2fs_start_bidx_of_node(ofs_of_node(&folio->page), inode);
|
||||
start = f2fs_start_bidx_of_node(ofs_of_node(folio), inode);
|
||||
end = start + ADDRS_PER_PAGE(&folio->page, inode);
|
||||
|
||||
set_new_dnode(&dn, inode, NULL, NULL, 0);
|
||||
|
@ -670,10 +670,10 @@ retry_dn:
|
|||
|
||||
f2fs_bug_on(sbi, ni.ino != ino_of_node(folio));
|
||||
|
||||
if (ofs_of_node(&dn.node_folio->page) != ofs_of_node(&folio->page)) {
|
||||
if (ofs_of_node(dn.node_folio) != ofs_of_node(folio)) {
|
||||
f2fs_warn(sbi, "Inconsistent ofs_of_node, ino:%lu, ofs:%u, %u",
|
||||
inode->i_ino, ofs_of_node(&dn.node_folio->page),
|
||||
ofs_of_node(&folio->page));
|
||||
inode->i_ino, ofs_of_node(dn.node_folio),
|
||||
ofs_of_node(folio));
|
||||
err = -EFSCORRUPTED;
|
||||
f2fs_handle_error(sbi, ERROR_INCONSISTENT_FOOTER);
|
||||
goto err;
|
||||
|
@ -760,7 +760,7 @@ retry_prev:
|
|||
|
||||
copy_node_footer(dn.node_folio, folio);
|
||||
fill_node_footer(dn.node_folio, dn.nid, ni.ino,
|
||||
ofs_of_node(&folio->page), false);
|
||||
ofs_of_node(folio), false);
|
||||
folio_mark_dirty(dn.node_folio);
|
||||
err:
|
||||
f2fs_put_dnode(&dn);
|
||||
|
|
Loading…
Add table
Reference in a new issue