|
@@ -533,8 +533,7 @@ xfs_setattr(
|
|
|
/*
|
|
|
* Can't change extent size if any extents are allocated.
|
|
|
*/
|
|
|
- if ((ip->i_d.di_nextents || ip->i_delayed_blks) &&
|
|
|
- (mask & XFS_AT_EXTSIZE) &&
|
|
|
+ if (ip->i_d.di_nextents && (mask & XFS_AT_EXTSIZE) &&
|
|
|
((ip->i_d.di_extsize << mp->m_sb.sb_blocklog) !=
|
|
|
vap->va_extsize) ) {
|
|
|
code = XFS_ERROR(EINVAL); /* EFBIG? */
|
|
@@ -562,7 +561,8 @@ xfs_setattr(
|
|
|
/*
|
|
|
* Can't change realtime flag if any extents are allocated.
|
|
|
*/
|
|
|
- if (ip->i_d.di_nextents && (mask & XFS_AT_XFLAGS) &&
|
|
|
+ if ((ip->i_d.di_nextents || ip->i_delayed_blks) &&
|
|
|
+ (mask & XFS_AT_XFLAGS) &&
|
|
|
(ip->i_d.di_flags & XFS_DIFLAG_REALTIME) !=
|
|
|
(vap->va_xflags & XFS_XFLAG_REALTIME)) {
|
|
|
code = XFS_ERROR(EINVAL); /* EFBIG? */
|