diff options
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index b564c1b25e5e..7c1f74531463 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c | |||
@@ -533,8 +533,7 @@ xfs_setattr( | |||
533 | /* | 533 | /* |
534 | * Can't change extent size if any extents are allocated. | 534 | * Can't change extent size if any extents are allocated. |
535 | */ | 535 | */ |
536 | if ((ip->i_d.di_nextents || ip->i_delayed_blks) && | 536 | if (ip->i_d.di_nextents && (mask & XFS_AT_EXTSIZE) && |
537 | (mask & XFS_AT_EXTSIZE) && | ||
538 | ((ip->i_d.di_extsize << mp->m_sb.sb_blocklog) != | 537 | ((ip->i_d.di_extsize << mp->m_sb.sb_blocklog) != |
539 | vap->va_extsize) ) { | 538 | vap->va_extsize) ) { |
540 | code = XFS_ERROR(EINVAL); /* EFBIG? */ | 539 | code = XFS_ERROR(EINVAL); /* EFBIG? */ |
@@ -562,7 +561,8 @@ xfs_setattr( | |||
562 | /* | 561 | /* |
563 | * Can't change realtime flag if any extents are allocated. | 562 | * Can't change realtime flag if any extents are allocated. |
564 | */ | 563 | */ |
565 | if (ip->i_d.di_nextents && (mask & XFS_AT_XFLAGS) && | 564 | if ((ip->i_d.di_nextents || ip->i_delayed_blks) && |
565 | (mask & XFS_AT_XFLAGS) && | ||
566 | (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != | 566 | (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) != |
567 | (vap->va_xflags & XFS_XFLAG_REALTIME)) { | 567 | (vap->va_xflags & XFS_XFLAG_REALTIME)) { |
568 | code = XFS_ERROR(EINVAL); /* EFBIG? */ | 568 | code = XFS_ERROR(EINVAL); /* EFBIG? */ |