On Tue, Mar 17, 2020 at 07:57:54PM +0100, Christoph Hellwig wrote: > di_flags2 is initialized to zero for v4 and earlier file systems. This > means di_flags2 can only be non-zero for a v5 file systems, in which > case both the parent and child inodes can store the field. Remove the > extra di_version check, and also remove the rather pointless local > di_flags2 variable while at it. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > Reviewed-by: Chandan Rajendra <chandanrlinux@xxxxxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_inode.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index d65d2509d5e0..dfb0a452a87d 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -907,20 +907,13 @@ xfs_ialloc( > > ip->i_d.di_flags |= di_flags; > } > - if (pip && > - (pip->i_d.di_flags2 & XFS_DIFLAG2_ANY) && > - pip->i_d.di_version == 3 && > - ip->i_d.di_version == 3) { > - uint64_t di_flags2 = 0; > - > + if (pip && (pip->i_d.di_flags2 & XFS_DIFLAG2_ANY)) { > if (pip->i_d.di_flags2 & XFS_DIFLAG2_COWEXTSIZE) { > - di_flags2 |= XFS_DIFLAG2_COWEXTSIZE; > + ip->i_d.di_flags2 |= XFS_DIFLAG2_COWEXTSIZE; > ip->i_d.di_cowextsize = pip->i_d.di_cowextsize; > } > if (pip->i_d.di_flags2 & XFS_DIFLAG2_DAX) > - di_flags2 |= XFS_DIFLAG2_DAX; > - > - ip->i_d.di_flags2 |= di_flags2; > + ip->i_d.di_flags2 |= XFS_DIFLAG2_DAX; > } > /* FALLTHROUGH */ > case S_IFLNK: > -- > 2.24.1 >