xfs: simplify di_flags2 inheritance in xfs_ialloc
commit b3d1d37544d8c98be610df0ed66c884ff18748d5 upstream. 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@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> Acked-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0c553917b6
commit
e078b3de3e
@ -902,20 +902,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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user