On Thursday, March 12, 2020 7:52 PM 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 filed. Remove the > extra di_version check, and also remove the rather pointless local > di_flags2 variable while at it. > I don't see any logical issues. Reviewed-by: Chandan Rajendra <chandanrlinux@xxxxxxxxx> > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > 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 addc3ee0cb73..ebfd8efb0efa 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: > -- chandan