xfs: consistently initialize di_flags2
authorChristoph Hellwig <hch@lst.de>
Mon, 29 Mar 2021 18:11:37 +0000 (11:11 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 7 Apr 2021 21:37:02 +0000 (14:37 -0700)
Make sure di_flags2 is always initialized.  We currently get this implicitly
by clearing the dinode core on allocating the in-core inode, but that is
about to go away.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/xfs_icache.c
fs/xfs/xfs_inode.c

index 248c42b..54d483e 100644 (file)
@@ -64,6 +64,7 @@ xfs_inode_alloc(
        ip->i_flags = 0;
        ip->i_delayed_blks = 0;
        memset(&ip->i_d, 0, sizeof(ip->i_d));
+       ip->i_d.di_flags2 = mp->m_ino_geo.new_diflags2;
        ip->i_sick = 0;
        ip->i_checked = 0;
        INIT_WORK(&ip->i_ioend_work, xfs_end_io);
index 8983ef0..8c164fe 100644 (file)
@@ -846,7 +846,6 @@ xfs_init_new_inode(
 
        if (xfs_sb_version_has_v3inode(&mp->m_sb)) {
                inode_set_iversion(inode, 1);
-               ip->i_d.di_flags2 = mp->m_ino_geo.new_diflags2;
                ip->i_d.di_cowextsize = 0;
                ip->i_d.di_crtime = tv;
        }