Message ID | 20230528080709.1692640-1-chao@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [f2fs-dev] fsck.f2fs: clean up codes with IS_INODE() | expand |
On 05/28, Chao Yu wrote: > and use le32_to_cpu() in IS_INODE(). > > Signed-off-by: Chao Yu <chao@kernel.org> > --- > fsck/fsck.c | 7 +++---- > fsck/mount.c | 4 ++-- > fsck/node.h | 3 ++- > 3 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/fsck/fsck.c b/fsck/fsck.c > index e6ad71d..a4db2a3 100644 > --- a/fsck/fsck.c > +++ b/fsck/fsck.c > @@ -247,7 +247,7 @@ static int is_valid_summary(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, > goto out; > > /* check its block address */ > - if (node_blk->footer.nid == node_blk->footer.ino) { > + if (IS_INODE(node_blk)) { > int ofs = get_extra_isize(node_blk); > > if (ofs + ofs_in_node >= DEF_ADDRS_PER_INODE) > @@ -447,8 +447,7 @@ static int sanity_check_nid(struct f2fs_sb_info *sbi, u32 nid, > nid, ni->ino, le32_to_cpu(node_blk->footer.ino)); > return -EINVAL; > } > - if (ntype != TYPE_INODE && > - node_blk->footer.nid == node_blk->footer.ino) { > + if (ntype != TYPE_INODE && IS_INODE(node_blk)) { > ASSERT_MSG("nid[0x%x] footer.nid[0x%x] footer.ino[0x%x]", > nid, le32_to_cpu(node_blk->footer.nid), > le32_to_cpu(node_blk->footer.ino)); > @@ -3080,7 +3079,7 @@ static int fsck_reconnect_file(struct f2fs_sb_info *sbi) > ASSERT(err >= 0); > > /* reconnection will restore these nodes if needed */ > - if (node->footer.ino != node->footer.nid) { > + if (!IS_INODE(node)) { > DBG(1, "Not support non-inode node [0x%x]\n", > nid); > continue; > diff --git a/fsck/mount.c b/fsck/mount.c > index f1fb525..90ecabf 100644 > --- a/fsck/mount.c > +++ b/fsck/mount.c > @@ -2394,7 +2394,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, > ASSERT(ret >= 0); > > /* check its block address */ > - if (node_blk->footer.nid == node_blk->footer.ino) { > + if (IS_INODE(node_blk)) { > int ofs = get_extra_isize(node_blk); > > oldaddr = le32_to_cpu(node_blk->i.i_addr[ofs + ofs_in_node]); > @@ -2409,7 +2409,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, > } > > /* check extent cache entry */ > - if (node_blk->footer.nid != node_blk->footer.ino) { > + if (!IS_INODE(node_blk)) { > get_node_info(sbi, le32_to_cpu(node_blk->footer.ino), &ni); > > /* read inode block */ > diff --git a/fsck/node.h b/fsck/node.h > index 99139b1..2ba7b8c 100644 > --- a/fsck/node.h > +++ b/fsck/node.h > @@ -20,7 +20,8 @@ > > static inline int IS_INODE(struct f2fs_node *node) return bool? > { > - return ((node)->footer.nid == (node)->footer.ino); > + return le32_to_cpu(node->footer.ino) == > + le32_to_cpu(node->footer.nid); Again, why do we need this conversion which looks uncessary? > } > > static inline unsigned int ADDRS_PER_PAGE(struct f2fs_sb_info *sbi, > -- > 2.40.1
On 2023/5/31 6:58, Jaegeuk Kim wrote: > On 05/28, Chao Yu wrote: >> and use le32_to_cpu() in IS_INODE(). >> >> Signed-off-by: Chao Yu <chao@kernel.org> >> --- >> fsck/fsck.c | 7 +++---- >> fsck/mount.c | 4 ++-- >> fsck/node.h | 3 ++- >> 3 files changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/fsck/fsck.c b/fsck/fsck.c >> index e6ad71d..a4db2a3 100644 >> --- a/fsck/fsck.c >> +++ b/fsck/fsck.c >> @@ -247,7 +247,7 @@ static int is_valid_summary(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, >> goto out; >> >> /* check its block address */ >> - if (node_blk->footer.nid == node_blk->footer.ino) { >> + if (IS_INODE(node_blk)) { >> int ofs = get_extra_isize(node_blk); >> >> if (ofs + ofs_in_node >= DEF_ADDRS_PER_INODE) >> @@ -447,8 +447,7 @@ static int sanity_check_nid(struct f2fs_sb_info *sbi, u32 nid, >> nid, ni->ino, le32_to_cpu(node_blk->footer.ino)); >> return -EINVAL; >> } >> - if (ntype != TYPE_INODE && >> - node_blk->footer.nid == node_blk->footer.ino) { >> + if (ntype != TYPE_INODE && IS_INODE(node_blk)) { >> ASSERT_MSG("nid[0x%x] footer.nid[0x%x] footer.ino[0x%x]", >> nid, le32_to_cpu(node_blk->footer.nid), >> le32_to_cpu(node_blk->footer.ino)); >> @@ -3080,7 +3079,7 @@ static int fsck_reconnect_file(struct f2fs_sb_info *sbi) >> ASSERT(err >= 0); >> >> /* reconnection will restore these nodes if needed */ >> - if (node->footer.ino != node->footer.nid) { >> + if (!IS_INODE(node)) { >> DBG(1, "Not support non-inode node [0x%x]\n", >> nid); >> continue; >> diff --git a/fsck/mount.c b/fsck/mount.c >> index f1fb525..90ecabf 100644 >> --- a/fsck/mount.c >> +++ b/fsck/mount.c >> @@ -2394,7 +2394,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, >> ASSERT(ret >= 0); >> >> /* check its block address */ >> - if (node_blk->footer.nid == node_blk->footer.ino) { >> + if (IS_INODE(node_blk)) { >> int ofs = get_extra_isize(node_blk); >> >> oldaddr = le32_to_cpu(node_blk->i.i_addr[ofs + ofs_in_node]); >> @@ -2409,7 +2409,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, >> } >> >> /* check extent cache entry */ >> - if (node_blk->footer.nid != node_blk->footer.ino) { >> + if (!IS_INODE(node_blk)) { >> get_node_info(sbi, le32_to_cpu(node_blk->footer.ino), &ni); >> >> /* read inode block */ >> diff --git a/fsck/node.h b/fsck/node.h >> index 99139b1..2ba7b8c 100644 >> --- a/fsck/node.h >> +++ b/fsck/node.h >> @@ -20,7 +20,8 @@ >> >> static inline int IS_INODE(struct f2fs_node *node) > > return bool? Will change return value of IS_INODE. > >> { >> - return ((node)->footer.nid == (node)->footer.ino); >> + return le32_to_cpu(node->footer.ino) == >> + le32_to_cpu(node->footer.nid); > > Again, why do we need this conversion which looks uncessary? Let me remove this in v2. Thanks, > >> } >> >> static inline unsigned int ADDRS_PER_PAGE(struct f2fs_sb_info *sbi, >> -- >> 2.40.1
diff --git a/fsck/fsck.c b/fsck/fsck.c index e6ad71d..a4db2a3 100644 --- a/fsck/fsck.c +++ b/fsck/fsck.c @@ -247,7 +247,7 @@ static int is_valid_summary(struct f2fs_sb_info *sbi, struct f2fs_summary *sum, goto out; /* check its block address */ - if (node_blk->footer.nid == node_blk->footer.ino) { + if (IS_INODE(node_blk)) { int ofs = get_extra_isize(node_blk); if (ofs + ofs_in_node >= DEF_ADDRS_PER_INODE) @@ -447,8 +447,7 @@ static int sanity_check_nid(struct f2fs_sb_info *sbi, u32 nid, nid, ni->ino, le32_to_cpu(node_blk->footer.ino)); return -EINVAL; } - if (ntype != TYPE_INODE && - node_blk->footer.nid == node_blk->footer.ino) { + if (ntype != TYPE_INODE && IS_INODE(node_blk)) { ASSERT_MSG("nid[0x%x] footer.nid[0x%x] footer.ino[0x%x]", nid, le32_to_cpu(node_blk->footer.nid), le32_to_cpu(node_blk->footer.ino)); @@ -3080,7 +3079,7 @@ static int fsck_reconnect_file(struct f2fs_sb_info *sbi) ASSERT(err >= 0); /* reconnection will restore these nodes if needed */ - if (node->footer.ino != node->footer.nid) { + if (!IS_INODE(node)) { DBG(1, "Not support non-inode node [0x%x]\n", nid); continue; diff --git a/fsck/mount.c b/fsck/mount.c index f1fb525..90ecabf 100644 --- a/fsck/mount.c +++ b/fsck/mount.c @@ -2394,7 +2394,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, ASSERT(ret >= 0); /* check its block address */ - if (node_blk->footer.nid == node_blk->footer.ino) { + if (IS_INODE(node_blk)) { int ofs = get_extra_isize(node_blk); oldaddr = le32_to_cpu(node_blk->i.i_addr[ofs + ofs_in_node]); @@ -2409,7 +2409,7 @@ void update_data_blkaddr(struct f2fs_sb_info *sbi, nid_t nid, } /* check extent cache entry */ - if (node_blk->footer.nid != node_blk->footer.ino) { + if (!IS_INODE(node_blk)) { get_node_info(sbi, le32_to_cpu(node_blk->footer.ino), &ni); /* read inode block */ diff --git a/fsck/node.h b/fsck/node.h index 99139b1..2ba7b8c 100644 --- a/fsck/node.h +++ b/fsck/node.h @@ -20,7 +20,8 @@ static inline int IS_INODE(struct f2fs_node *node) { - return ((node)->footer.nid == (node)->footer.ino); + return le32_to_cpu(node->footer.ino) == + le32_to_cpu(node->footer.nid); } static inline unsigned int ADDRS_PER_PAGE(struct f2fs_sb_info *sbi,
and use le32_to_cpu() in IS_INODE(). Signed-off-by: Chao Yu <chao@kernel.org> --- fsck/fsck.c | 7 +++---- fsck/mount.c | 4 ++-- fsck/node.h | 3 ++- 3 files changed, 7 insertions(+), 7 deletions(-)