Skip to content

Commit f923792

Browse files
Matthew Wilcox (Oracle)Jaegeuk Kim
authored andcommitted
f2fs: Pass a folio to f2fs_update_inode()
All callers now have a folio, so pass it in. Remove two calls 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>
1 parent a6d26d5 commit f923792

5 files changed

Lines changed: 15 additions & 15 deletions

File tree

fs/f2fs/dir.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ struct folio *f2fs_init_inode_metadata(struct inode *inode, struct inode *dir,
579579

580580
put_error:
581581
clear_nlink(inode);
582-
f2fs_update_inode(inode, &folio->page);
582+
f2fs_update_inode(inode, folio);
583583
f2fs_folio_put(folio, true);
584584
return ERR_PTR(err);
585585
}
@@ -738,7 +738,7 @@ int f2fs_add_regular_entry(struct inode *dir, const struct f2fs_filename *fname,
738738

739739
/* synchronize inode page's data from inode cache */
740740
if (is_inode_flag_set(inode, FI_NEW_INODE))
741-
f2fs_update_inode(inode, &folio->page);
741+
f2fs_update_inode(inode, folio);
742742

743743
f2fs_folio_put(folio, true);
744744
}

fs/f2fs/f2fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3616,7 +3616,7 @@ void f2fs_inode_chksum_set(struct f2fs_sb_info *sbi, struct page *page);
36163616
struct inode *f2fs_iget(struct super_block *sb, unsigned long ino);
36173617
struct inode *f2fs_iget_retry(struct super_block *sb, unsigned long ino);
36183618
int f2fs_try_to_free_nats(struct f2fs_sb_info *sbi, int nr_shrink);
3619-
void f2fs_update_inode(struct inode *inode, struct page *node_page);
3619+
void f2fs_update_inode(struct inode *inode, struct folio *node_folio);
36203620
void f2fs_update_inode_page(struct inode *inode);
36213621
int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc);
36223622
void f2fs_evict_inode(struct inode *inode);

fs/f2fs/inline.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@ int f2fs_add_inline_entry(struct inode *dir, const struct f2fs_filename *fname,
683683

684684
/* synchronize inode page's data from inode cache */
685685
if (is_inode_flag_set(inode, FI_NEW_INODE))
686-
f2fs_update_inode(inode, &folio->page);
686+
f2fs_update_inode(inode, folio);
687687

688688
f2fs_folio_put(folio, true);
689689
}

fs/f2fs/inode.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -659,18 +659,18 @@ struct inode *f2fs_iget_retry(struct super_block *sb, unsigned long ino)
659659
return inode;
660660
}
661661

662-
void f2fs_update_inode(struct inode *inode, struct page *node_page)
662+
void f2fs_update_inode(struct inode *inode, struct folio *node_folio)
663663
{
664664
struct f2fs_inode_info *fi = F2FS_I(inode);
665665
struct f2fs_inode *ri;
666666
struct extent_tree *et = fi->extent_tree[EX_READ];
667667

668-
f2fs_wait_on_page_writeback(node_page, NODE, true, true);
669-
set_page_dirty(node_page);
668+
f2fs_folio_wait_writeback(node_folio, NODE, true, true);
669+
folio_mark_dirty(node_folio);
670670

671671
f2fs_inode_synced(inode);
672672

673-
ri = F2FS_INODE(node_page);
673+
ri = F2FS_INODE(&node_folio->page);
674674

675675
ri->i_mode = cpu_to_le16(inode->i_mode);
676676
ri->i_advise = fi->i_advise;
@@ -745,15 +745,15 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
745745
}
746746
}
747747

748-
__set_inode_rdev(inode, node_page);
748+
__set_inode_rdev(inode, &node_folio->page);
749749

750750
/* deleted inode */
751751
if (inode->i_nlink == 0)
752-
clear_page_private_inline(node_page);
752+
clear_page_private_inline(&node_folio->page);
753753

754754
init_idisk_time(inode);
755755
#ifdef CONFIG_F2FS_CHECK_FS
756-
f2fs_inode_chksum_set(F2FS_I_SB(inode), node_page);
756+
f2fs_inode_chksum_set(F2FS_I_SB(inode), &node_folio->page);
757757
#endif
758758
}
759759

@@ -780,7 +780,7 @@ void f2fs_update_inode_page(struct inode *inode)
780780
f2fs_stop_checkpoint(sbi, false, STOP_CP_REASON_UPDATE_INODE);
781781
return;
782782
}
783-
f2fs_update_inode(inode, &node_folio->page);
783+
f2fs_update_inode(inode, node_folio);
784784
f2fs_folio_put(node_folio, true);
785785
}
786786

fs/f2fs/node.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1870,7 +1870,7 @@ int f2fs_fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode,
18701870
if (IS_INODE(&folio->page)) {
18711871
if (is_inode_flag_set(inode,
18721872
FI_DIRTY_INODE))
1873-
f2fs_update_inode(inode, &folio->page);
1873+
f2fs_update_inode(inode, folio);
18741874
set_dentry_mark(&folio->page,
18751875
f2fs_need_dentry_mark(sbi, ino));
18761876
}
@@ -1955,7 +1955,7 @@ static bool flush_dirty_inode(struct folio *folio)
19551955
if (!inode)
19561956
return false;
19571957

1958-
f2fs_update_inode(inode, &folio->page);
1958+
f2fs_update_inode(inode, folio);
19591959
folio_unlock(folio);
19601960

19611961
iput(inode);
@@ -2743,7 +2743,7 @@ int f2fs_recover_inline_xattr(struct inode *inode, struct folio *folio)
27432743
f2fs_folio_wait_writeback(ifolio, NODE, true, true);
27442744
memcpy(dst_addr, src_addr, inline_size);
27452745
update_inode:
2746-
f2fs_update_inode(inode, &ifolio->page);
2746+
f2fs_update_inode(inode, ifolio);
27472747
f2fs_folio_put(ifolio, true);
27482748
return 0;
27492749
}

0 commit comments

Comments
 (0)