Skip to content

Commit 68cb1a6

Browse files
Yongpeng YangJaegeuk Kim
authored andcommitted
f2fs: refactor node footer flag setting related code
This patch refactors the node footer flag setting code to simplify redundant logic and adjust function parameters and return types. No logical changes. Signed-off-by: Yongpeng Yang <yangyongpeng@xiaomi.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
1 parent 92c2098 commit 68cb1a6

3 files changed

Lines changed: 13 additions & 14 deletions

File tree

fs/f2fs/f2fs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3924,7 +3924,7 @@ bool f2fs_in_warm_node_list(struct folio *folio);
39243924
void f2fs_init_fsync_node_info(struct f2fs_sb_info *sbi);
39253925
void f2fs_del_fsync_node_entry(struct f2fs_sb_info *sbi, struct folio *folio);
39263926
void f2fs_reset_fsync_node_info(struct f2fs_sb_info *sbi);
3927-
int f2fs_need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid);
3927+
bool f2fs_need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid);
39283928
bool f2fs_is_checkpointed_node(struct f2fs_sb_info *sbi, nid_t nid);
39293929
bool f2fs_need_inode_block_update(struct f2fs_sb_info *sbi, nid_t ino);
39303930
int f2fs_get_node_info(struct f2fs_sb_info *sbi, nid_t nid,

fs/f2fs/node.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ void f2fs_reset_fsync_node_info(struct f2fs_sb_info *sbi)
391391
spin_unlock_irqrestore(&sbi->fsync_node_lock, flags);
392392
}
393393

394-
int f2fs_need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid)
394+
bool f2fs_need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid)
395395
{
396396
struct f2fs_nm_info *nm_i = NM_I(sbi);
397397
struct nat_entry *e;

fs/f2fs/node.h

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -400,27 +400,26 @@ static inline int is_node(const struct folio *folio, int type)
400400
#define is_fsync_dnode(folio) is_node(folio, FSYNC_BIT_SHIFT)
401401
#define is_dent_dnode(folio) is_node(folio, DENT_BIT_SHIFT)
402402

403-
static inline void set_cold_node(const struct folio *folio, bool is_dir)
403+
static inline void __set_mark(const struct folio *folio, bool mark, int type)
404404
{
405405
struct f2fs_node *rn = F2FS_NODE(folio);
406406
unsigned int flag = le32_to_cpu(rn->footer.flag);
407407

408-
if (is_dir)
409-
flag &= ~BIT(COLD_BIT_SHIFT);
410-
else
411-
flag |= BIT(COLD_BIT_SHIFT);
412-
rn->footer.flag = cpu_to_le32(flag);
413-
}
414-
415-
static inline void set_mark(struct folio *folio, int mark, int type)
416-
{
417-
struct f2fs_node *rn = F2FS_NODE(folio);
418-
unsigned int flag = le32_to_cpu(rn->footer.flag);
419408
if (mark)
420409
flag |= BIT(type);
421410
else
422411
flag &= ~BIT(type);
423412
rn->footer.flag = cpu_to_le32(flag);
413+
}
414+
415+
static inline void set_cold_node(const struct folio *folio, bool is_dir)
416+
{
417+
__set_mark(folio, !is_dir, COLD_BIT_SHIFT);
418+
}
419+
420+
static inline void set_mark(struct folio *folio, bool mark, int type)
421+
{
422+
__set_mark(folio, mark, type);
424423

425424
#ifdef CONFIG_F2FS_CHECK_FS
426425
f2fs_inode_chksum_set(F2FS_F_SB(folio), folio);

0 commit comments

Comments
 (0)