Re: [f2fs-dev] [PATCH] f2fs-tools: initialize allocated node area

From: Daeho Jeong
Date: Mon Oct 16 2023 - 11:25:49 EST


On Sun, Oct 15, 2023 at 11:33 PM Chao Yu <chao@xxxxxxxxxx> wrote:
>
> On 2023/10/14 6:24, Daeho Jeong wrote:
> > From: Daeho Jeong <daehojeong@xxxxxxxxxx>
> >
> > Need to initialize allocated node areas after memory allocation.
> >
> > Signed-off-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
> > ---
> > fsck/node.c | 1 +
> > include/f2fs_fs.h | 2 ++
> > 2 files changed, 3 insertions(+)
> >
> > diff --git a/fsck/node.c b/fsck/node.c
> > index 3761470..6508340 100644
> > --- a/fsck/node.c
> > +++ b/fsck/node.c
> > @@ -127,6 +127,7 @@ block_t new_node_block(struct f2fs_sb_info *sbi,
> >
> > node_blk = calloc(BLOCK_SZ, 1);
>
> calloc() has already initialized memory w/ zero, it doesn't need to reinitialize
> it again?

Sorry, I was confused. :(


>
> > ASSERT(node_blk);
> > + memset(node_blk, 0, BLOCK_SZ);
> >
> > F2FS_NODE_FOOTER(node_blk)->nid = cpu_to_le32(dn->nid);
> > F2FS_NODE_FOOTER(node_blk)->ino = F2FS_NODE_FOOTER(f2fs_inode)->ino;
> > diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
> > index 3c7451c..7e22278 100644
> > --- a/include/f2fs_fs.h
> > +++ b/include/f2fs_fs.h
> > @@ -1826,6 +1826,8 @@ static inline void show_version(const char *prog)
> > static inline void f2fs_init_inode(struct f2fs_super_block *sb,
> > struct f2fs_node *raw_node, nid_t ino, time_t mtime, mode_t mode)
> > {
> > + memset(raw_node, 0, F2FS_BLKSIZE);
>
> Ditto,
>
> Thanks,
>
> > +
> > F2FS_NODE_FOOTER(raw_node)->nid = cpu_to_le32(ino);
> > F2FS_NODE_FOOTER(raw_node)->ino = cpu_to_le32(ino);
> > F2FS_NODE_FOOTER(raw_node)->cp_ver = cpu_to_le64(1);